搜索连续序列冲突



我想测试字符串是否损坏,使用正则表达式查找违反重复字符序列的情况最简单。假设用于验证完整性的序列是0到9。

例如,"0123456790123456789"将与"79"匹配,因为缺少"8"。

"01234567555890123456789"将与"75558"匹配,因为"555"不属于。返回的特定字符串并不重要,只是至少标记损坏的第一个位置。

如果正则表达式可以实现这一点,我如何用正则表达式实现这一目标?

您可以拼写出这样的序列:

(0[^1]|1[^2]|2[^3]|3[^4]|4[^5]|5[^6]|6[^7]|7[^8]|8^[9]|9[^0])

01234567555890123456789中,它返回两个匹配7555——它将至少可靠地找到第一个断开的链路。

我不认为单独使用regex可以做更多的事情,因为regex本身无法进行排序比较。

最新更新