搜索连续序列违规

时间:2015-02-18 16:25:17

标签: regex string testing corruption data-integrity

我想测试字符串损坏,最简单的方法是使用一个发现违反重复字符序列的正则表达式。假设用于验证完整性的序列是0到9。

例如,' 0123456790123456789'会匹配' 79'因为' 8'不见了。

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

如果使用正则表达式甚至可以实现正则表达式,我怎样才能实现这一点?

1 个答案:

答案 0 :(得分:1)

你可以拼出这样的序列:

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

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

我认为单凭正则表达式可以做得更多,因为正则表达式本身不能进行排序比较。