我在这里为正则表达式专家提供了一些东西。我正在尝试检查十进制数中是否有重复的序列。目前我已经开始工作了:
(\d{2,}?)\1
问题是这对于0.00035或11125.5
等数字不起作用这里它与重复的序列匹配0.000或111,我不希望发生这种情况。
有没有办法修改这个正则表达式,使它只在小数点后检查,并从第一个小数位排除X个零号?
答案 0 :(得分:1)
您可以使用此模式执行此操作:
[0-9]+\.0*+[0-9]*?([0-9]{2,})\1[0-9]*
该模式使用所有格量词0*+
来防止在小数分隔符后匹配重复的零。 (占有量词禁止回溯)。
[0-9]*?
有一个非贪婪的量词,以确保找到第一个重复的序列。