js 正則之反向引用小結-詳解

正則表達式 /(?:ninja)-(trick)?-\1/ 能匹配到以下哪個字符串?
a . ‘ninja-’
b. ‘ninja-trick-ninja’
c. ‘ninja-trick-trick’

解:
正則中術語
? 匹配前面的子表達式零次或一次
() 表示分組
(?:XX) 非提取組,可以指定一個特定字符串,重複多少次等

(?:ninja)/
以 ninja開頭的,至少一個
(trick)?/
trick爲一組,至少一個

接下來在控制檯來測試幾組數據,來印證下

let a = 
    /(?:ninja)-(trick)?-\1/
a.test('ninja-trick-ninja')
false
a.test('ninja-trick-trick')
true
a.test('ninja-trick-trick-trick')
true
a.test('ninja-ninja-trick-trick-trick')
true
a.test('ninja-ninja-trick-trick-trick-')
true
a.test('ninja-ninja-trick-trick-trick---')
true
a.test('trick-trick')
false

如有問題請聯繫我~

歡迎加入QQ羣:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章