2017-06-18 63 views
-4
**(?i)\\b([a-z]+)\\b(?:\\s+\\1\\b)+** 

我明白每個符號的意思,但是當符號合併時......我無法弄清楚。混淆部分是(?:\ s + \ 1 \ b)+。這是什麼意思???你能向我解釋嗎?謝謝你的時間!尋找重複詞的正則表達式

+0

將其粘貼到[http://regexr.com/](http://regexr.com/),它會向您解釋。 – moritzg

+0

@moritzg謝謝你! – Shar

+0

@SebastianProske謝謝你! – Shar

回答

0

(?:\s+\1\b)+各個部件具有以下含義:

  • (?:...) - 非捕獲基團。它包含:
  • \s+ - 一個非空序列空白字符。
  • \1 - 反向捕獲組#1(\b([a-z]+)\b)。 這意味着你想在這裏只是剛剛捕獲相同的字符(重複的單​​詞) 。
  • \b - 字邊界,在這種情況下從字區空區轉換。

整個以上組之後有一個+跡象,這意味着你要 匹配儘可能多的重複詞成爲可能。

+0

感謝您的解釋。 – Shar