我想测试字符串损坏,最简单的方法是使用一个发现违反重复字符序列的正则表达式。假设用于验证完整性的序列是0到9。
例如,' 0123456790123456789'会匹配' 79'因为' 8'不见了。
' 01234567555890123456789'会匹配' 75558'因为' 555'不属于。返回的特定字符串并不重要,只是至少标记了第一个损坏位置。
如果使用正则表达式甚至可以实现正则表达式,我怎样才能实现这一点?
答案 0 :(得分:1)
你可以拼出这样的序列:
(0[^1]|1[^2]|2[^3]|3[^4]|4[^5]|5[^6]|6[^7]|7[^8]|8^[9]|9[^0])
在01234567555890123456789
中,它会返回两个匹配75
和55
- 它至少会可靠地找到第一个断开的链接。
我认为单凭正则表达式可以做得更多,因为正则表达式本身不能进行排序比较。