正则表达式 /(?: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群: