我有一个正则表达式,我用它来查找数字556和567的任意顺序。现在我正在寻找修改正则表达式,使搜索将匹配相同的3个数字在最后3位数字的4位数字。
第一个匹配任意顺序556的正则表达式:
"b(?=[0-46-9]*5[0-46-9]*5[0-46-9]*b)(?=d{3})d*6d*b"
我希望新的正则表达式匹配下面的([0-9]556,[0-9]565,[0-9]655)。预期结果:
0556
0565
0655
1556
1565
1655 ........
第二个匹配任意顺序567的正则表达式:
"b(?=[0-46-9]*5)(?=[0-57-9]*6)(?=[0-689]*7)d+b"
所需结果:
7756
7765
8567
8576
8657
8675
8756
8765…
可以匹配第一个数字,然后断言长度为3位,直到字符串的末尾。
断言至少一个6,然后在可选的6之间匹配2次5。
使用字符类来限制数字
的可能匹配^d(?=[56]{3}$)(?=[56]*6)6*56*56*$
Regex演示
简写为^d(?:556|565|655)$
对于第二个模式,您可以使用相同的方法,匹配单个数字,断言5和6,然后匹配7。
^d(?=[567]{3}$)(?=[567]*5)(?=[567]*6)[567]*7[567]*$
Regex演示
简写为^d(?:567|576|657|675|756|765)$