例子:
1.(w)((?=111)(1))+ 为什么=重复4次以上的字母数字,则匹配其剩下最后2位之前的部分
2."abcabc".match(/(?:a)(b).*1/g); 结果为 ["abcab"]
例子:
1.(w)((?=111)(1))+ 为什么=重复4次以上的字母数字,则匹配其剩下最后2位之前的部分
2."abcabc".match(/(?:a)(b).*1/g); 结果为 ["abcab"]
3 回答2.5k 阅读✓ 已解决
5 回答1.8k 阅读
1 回答1.3k 阅读✓ 已解决
先回答问题题目的
(?:)
意思这个代表不捕获分组
比较
(X)
和(?:X)
,前者是捕获分组,后者不捕获,区别在于正则表达式匹配输入字符串之后所获得的匹配的(数)组当中没有(?:X)
匹配的部分;比如
如果这样
第一小题应该是这样的正则表达式
这里有一个知识点
zero-width positive lookahead
,零宽断言,正向前瞻(反正我记不住意思是
(?=X)
匹配某个位置,右边(正向)是X,它不真正匹配捕获子串。看几个匹配的测试例子
匹配重复4次以上的字母或数字可以这么写