正则表达式挑战分别匹配相同的数字

时间:2012-02-11 10:52:22

标签: regex

我正在努力应对一个很好的挑战,分别使用正则表达式匹配两个相同的数字。

请在此处查看我要单独匹配的列表。

1,680,000,0001,680,000,000
3,350,0003,350,000
110,000110,000
11,100,00011,100,000
550,000550,000
1,0001,000
250250
49,50049,500
165,000165,000
49,50049,500
3,350,0003,350,000
165,000165,000
550,000550,000
550,000550,000
33,10033,100
18,10018,100
450,000450,000

例如550,000550,000,两倍550,000或250250两倍250.我想匹配例如550,000和250。

我在RegexBuddy中测试了很多正则表达式,但没有人能做我想要的。也许你有一个建议?

1 个答案:

答案 0 :(得分:7)

如果我理解你的要求,那么

^(.+)\1$

应该有效。您可以将可能的匹配限制为仅允许数字和逗号,如下所示:

^([\d,]+)\1$

这匹配“双号”并保持第一次重复捕获组号1.如果您希望您的匹配仅包含第一次重复,则使用

^([\d,]+)(?=\1$)

RegexBuddy screenshot