-2
我正在處理從字符串中刪除重複單詞的問題。例如,java正則表達式刪除重複的單詞
輸入:Goodbye bye bye world world world
輸出:Goodbye bye world
我已得到在線資源工作模式,但我不能夠理解它的所有內容。
String pattern = "\\b(\\w+)(\\b\\W+\\b\\1\\b)*";
這是我的理解:
- 初始
\\b
是匹配字bounaries (\\w+)
匹配一個或多個字符 在此表達
:
(\\b\\W+\\b\\1\\b)*
一個。
\\b
匹配單詞邊界b。
\\W+
匹配一個或多個非單詞字符c。
\\b
再次匹配一個字bounaryd。
\\1
???我不知道這是什麼,但它不會沒有這個工作c。
\\b
再次bounary
一個詞的匹配,而你可以看到,我主要的困惑是關於項目3,特別是\\1
。 任何人都可以更清楚地解釋它?
嗨。我總是使用regexr來測試和嘗試正則表達式[點擊這裏](http://regexr.com/),如果你把指針放在它顯示消息的表達式上,它就解釋發生了什麼 –
@GabrielMarques,謝謝你的鏈接。然而,我的模式或anubhava編寫的模式都不適用於這個網頁編輯器。語法與java正則表達式相同嗎? – drdot
是的,嘗試刪除雙反斜槓字符'\',它會起作用。您使用雙反斜槓導致您將字符串寫入表達式,並將其加倍以避免 –