在正则表达式中捕获重复的,以逗号分隔的字符串

时间:2017-02-28 21:36:00

标签: java regex backreference

我需要捕获一行(或输入字符串)中可用的多个短语 让我们说输入是="这是描述,这是描述"
所以我需要检测字符串"这是描述"在输入中重复了两次
这是我到目前为止尝试过的正则表达式

(.*).*\1

但它匹配的输入没有像#34这样的精确重复;这是描述,更多文字,这是描述"

1 个答案:

答案 0 :(得分:0)

要查找逗号分隔字符串的重复

(.+?),\1

要查找任意数量的重复值(以逗号分隔):

(.+?)(?:,\1)+

这些工作是通过对第一个逗号进行非贪婪匹配,然后在逗号后重复。