2013-02-13 46 views
8

採取以下輸入:匹配相同的單詞兩次用正則表達式,不關心這個詞是什麼

foo.foo aefhiuafhiauefheiauh bar.bar jgoeiajgoieajogiae baz.foo ogiejaogijaeoigjea 

說我想匹配x.x其中x是相同的點的兩側。所以我不想匹配x.y。因此,與例如輸入,我會得到foo.foobar.bar而不是baz.foo

我想要做的是一樣的東西

(\w+)\.$1 

但當然不工作的。

這是可能以任何正常的方式與正則表達式,或者我應該匹配x.y和處理代碼中的xy的比較?

爲了這個問題,假設我使用Javascript正則表達式引擎。

+1

你試過(\ w +)\。\ 1 http://rubular.com/r/yXdlTXD6Uy – gosukiwi 2013-02-13 15:08:46

回答

16

試試這個:

/(\w+)\.\1/g 

測試在http://regexpal.com/和作品。

編輯:像TomTom添加的全局修飾符正確表明。

+1

是啊。工作正常。你是一個紳士和學者。我不能接受9分鐘的答案,但我會盡我所能。 – PhonicUK 2013-02-13 15:12:57

+1

http://jsfiddle.net/dPv2q/ – jbabey 2013-02-13 15:13:48

+0

http://www.regular-expressions.info/javascriptexample.html不顯示所有匹配! – TomTom 2013-02-13 15:14:02

4

應該與全球!

/(\w+)\.\1/g; 
相關問題