正則表達式 /(?: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羣: