2017-02-28 59 views
0

我有一個要求捕獲一行(或一個輸入字符串)中可用的多個短語。
假設輸入是=「這是描述,這是描述」
所以我需要檢測字符串「這是描述」在輸入中重複了兩次。

這也是迄今爲止
在正則表達式中捕獲重複的逗號分隔字符串

(.*).*\1 

我已經試過正則表達式,但它匹配的是沒有確切的重複輸入類似「這是說明,更多的文字,這是描述」

+0

請發表[mcve]。 – shmosel

+0

爲什麼它不工作?它[是](https://regex101.com/r/6gCwbt/1)。 –

+0

正則表達式會告訴你在字符串中出現的模式。在你的例子中,你在一個字符串中人爲地聲明瞭2個短語。你的代碼應該如何知道?您應該首先將不同的短語分隔成自己的字符串,然後自行測試每個字符串。 – AntonH

回答

0

爲了找到重複對逗號分隔的字符串的

(.+?),\1 

找到任何數量的重複值的(逗號分隔):

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

這些工作通過執行一個非貪婪匹配到第一逗號然後逗號之後的重複。

+0

謝謝,但這些也捕獲這個以及我的要求不要像「這是測試,這不是測試」 – greatb

相關問題