我试过这个
正则表达式:
^(?:(?![_]{2}).)+$
文字:
abcc..abc
abcdefgh_
abcd_abcd
abc_a_abc
abc__abcd
a__abcde _
abc++abcd
高亮文本意味着匹配。
上面的正则表达式字面意思是“匹配除__
之外的任何字符构造的任何行”,我只是想知道这个正则表达式的评估过程,在我理解的过程中假设这样工作
考虑文字:abc__abcd
评估过程:
^
(匹配)。.+
(匹配)。$
(匹配)。到目前为止,所有正则表达式仍然可以与我们考虑的文本匹配。
(?![_]{2})a(?![_]{2})b(?![_]{2})c(?![_]{2})_(?![_]{2})_(?![_]{2})a(?![_]{2})b(?![_]{2})c(?![_]{2})d
负向前瞻执行:
(?![_]{2}) ab (match)
(?![_]{2}) bc (match)
...
(?![_]{2})__ (not match)
...
我的理解是否正确?