js正規表示式分組捕獲

2021-10-21 17:48:49 字數 1133 閱讀 3131

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...

正規表示式 非捕獲分組

目前為止,總共介紹了括號的三種用途 分組,將相關的語速歸攏到一起,構成單個元素 多選結構,規定可能出現的多個子表達示 引用分組,將子表示式匹配的文字儲存起來,供之後引用。這三種用途並不是彼此獨立的,而是互相重疊的 單純的分組可以視為 只包含乙個多選分支的多選結構 整個多選結構也會被視為單個元素,可以...