正则表达式多重排除
Regex multiple exclusions
我想制作一个正则表达式来匹配像 abbc
这样的组,其中每个字母都是不同的字符。
- 它应该包含三个捕获组
- 所有捕获组应包含不同的字符
- 第二个应该正好匹配两次
示例:
bank (not matched, because the second and the third character is not the same)
rook (matched)
book (matched)
poop (not matched, because the first and the last character is the same)
到目前为止,我一直在尝试这样的事情:
(.)(.(?!))(.(?!)(?!))
然而,这也匹配 poop
。我该如何纠正?
你的前瞻定位有点偏,你可以这样
(.)(?!)(.)(?!|)(.)
见https://regex101.com/r/heBJar/1
您可能需要根据需要应用锚点或字边界。您还应该考虑使用 [a-z]
或 [[:alpha:]]
或类似的而不是 .
.
我想制作一个正则表达式来匹配像 abbc
这样的组,其中每个字母都是不同的字符。
- 它应该包含三个捕获组
- 所有捕获组应包含不同的字符
- 第二个应该正好匹配两次
示例:
bank (not matched, because the second and the third character is not the same)
rook (matched)
book (matched)
poop (not matched, because the first and the last character is the same)
到目前为止,我一直在尝试这样的事情:
(.)(.(?!))(.(?!)(?!))
然而,这也匹配 poop
。我该如何纠正?
你的前瞻定位有点偏,你可以这样
(.)(?!)(.)(?!|)(.)
见https://regex101.com/r/heBJar/1
您可能需要根据需要应用锚点或字边界。您还应该考虑使用 [a-z]
或 [[:alpha:]]
或类似的而不是 .
.