es6中的命名捕獲
(?《別名》) 在正規表示式中以這樣的形勢就能給子表示式取乙個別名,以獲得更好的**可讀性
現在有乙個字串,』2018-09-06』,我需要分別獲取他的年月日,以前的做法就是:
let
str = '2018-09-06'
let reg = /(\d)-(\d)-(\d)/
let arr = str.match(reg)
let [year, month, day] = [arr[1], arr[2], arr[3]]
但是現在新版的es中提供了乙個更加便於理解的方法,現在很多瀏覽器還不支援,新版谷歌可用
let str = '2018-09-06'
let reg1 = /(?\d)-(?\d)-(?\d)/
let arr = str.match(reg1)
let = arr.groups
命名捕獲在replace中的使用之前的做法
let
str = '2018-09-06'
let reg = /(\d)-(\d)-(\d)/
let str1 = str.replace(reg,'$2/$3/$1');
console.log(str1) // 09/06/2018
es2018的做法
let
str = '2018-09-06'
let reg = /(?\d)-(?\d)-(?\d)/
let newstr = str.replace(reg, '$/$/$')
console.log(newstr) // 09/06/2018
當然replace的回掉函式方式也是可以實現的
let str = '2018-09-06';
let reg = /(?\d)-(?\d)-(?\d)/
let str2 = str.replace(reg,(...args)=> = args[args.length - 1]
return `$/$/$`;
})console.log
(str2) // 2018/09/06
反向引用
以前反向引用子表示式的做法如下
let str2 = 'welcome-welcome-welcame'
let reg2 = /(welcome)(-)\1\2/
console.log(str2.match(reg2)) // welcome-welcome-
新es標準裡可以通過命名捕獲來反向引用, 只需要 \k《別名》就好了
let str2 = 'welcome-welcome-welcame'
let reg2 = /(?welcome)-\k-/
console.log(str2.match(reg2)) // welcome-welcome-
關於Python中正規表示式re S的作用
今天入門爬蟲的時候看到有這個一種寫法 pic url re.findall objurl html,re.s 所以,今天來簡單分析一下這個東西 re.s的作用 下面主要看一下這個 import re a sdfkhellolsdlfsdfiooefo 877898989worldafdsf b re...
ES6裡關於正規表示式的拓展
在 es5 中,regexp建構函式的引數有兩種情況。第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符 flag var regex new regexp xyz i 等價於var regex xyz i 第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正規表示式的拷貝 var ...
ES6裡關於正規表示式的拓展
在 es5 中,regexp建構函式的引數有兩種情況。第一種情況是,引數是字串,這時第二個引數表示正規表示式的修飾符 flag var regex new regexp xyz i 等價於var regex xyz i 第二種情況是,引數是乙個正規表示式,這時會返回乙個原有正規表示式的拷貝 var ...