const reg =
;reg.
test
()
比如去掉』[[[aaa]]]'中的中括號(這裡只是舉個例,可以這樣來處理更複雜的模板字串)
const reg =
/\[([a-za-z]*)\]/
;let str =
'[[[aaa]]]'
;while
(reg.
test
(str)
)console.
log(
"str"
,str)
這裡的\1就是$1
const reg =
/([a-z]) is \1/
reg.
test
('aa is aa'
)// true
reg.
test
('aa is bb'
)// false
使用?:後不會進行捕獲
const reg =
/(?:\d)-(\d)-(\d)/
let date =
'2021-03-01'
reg.
test
(date)
regexp.$1
// 12
regexp.$2
// 21
const reg =
/aa is a (?=bb)/
reg.
test
('aa is a bb'
)// true
reg.
test
('aa is a cc'
)// false
反向前瞻和正向前瞻的結果是相反的
const reg =
/aa is a (?!bb)/
reg.
test
('aa is a bb'
)// false
reg.
test
('aa is a cc'
)// true
正規表示式 分組與捕獲
之前使用正規表示式的時候大多數狀況下只是用用匹配表示式,為什麼說是匹配表示式呢,因為其實替換文字也可以使用表示式,我稱之為替換表示式。因為通常使用正規表示式的大多會是以下情況,比如把一段文字中的a字串更改為b字串 待匹配文字 abcdabcd 匹配表示式 b 替換文字 e 替換結果 aecdaecd...
正規表示式 分組與捕獲
之前使用正規表示式的時候大多數狀況下只是用用匹配表示式,為什麼說是匹配表示式呢,因為其實替換文字也可以使用表示式,我稱之為替換表示式。因為通常使用正規表示式的大多會是以下情況,比如把一段文字中的a字串更改為b字串 待匹配文字 abcdabcd 匹配表示式 b 替換文字 e 替換結果 aecdaecd...
正規表示式 非捕獲分組
目前為止,總共介紹了括號的三種用途 分組,將相關的語速歸攏到一起,構成單個元素 多選結構,規定可能出現的多個子表達示 引用分組,將子表示式匹配的文字儲存起來,供之後引用。這三種用途並不是彼此獨立的,而是互相重疊的 單純的分組可以視為 只包含乙個多選分支的多選結構 整個多選結構也會被視為單個元素,可以...