我有以下数据列表
10000
12100
12312
12120
我正在写一个regex来寻找备用的重复数。所以上面的列表会给出
2 -> (two zeros)
1 -> (1 in 121)
0 -> (no alternate duplicate)
2 -> (1 in 121 and 2 in 212)
我写了以下的regex
([0-9])(?!\1)([0-9])(?:\1\2)*\1
这在第一组和最后一组中不起作用。在第一组中,当中间有相同的数字时,它不能工作,如 111
. 在最后,它设置它是不工作的 212
.
如果你使用负向的看头 (?!\1)
该组将捕获示例中的第一个零。10000
但右边只有零,所以不会有匹配,因为反向参考包含一个零。
你可能会捕捉到第1组中的一个数字,并断言直接在右边的是第1组后面的一个数字。
([0-9])(?=[0-9]\1)