2017-04-26 31 views
0

我試圖匹配iff兩個捕獲組是相同的。我可以在比賽結束後手動檢查,但我想知道是否有一種方法可以在表達式本身中執行此操作。正則表達式匹配如果組相同

我的表情是(\d+)\/(\d+),所以我只想接受兩個數字相等的字符串。有沒有一種很好的方法來檢查正則表達式中的這個,還是我必須在之後手動檢查組?

編輯:這是標誌着一個重複的,但應該有重複的問題是沒有關係的,並且不以任何方式回答我的問題...

+1

如果整個輸入爲「num/num」格式,則使用'r'\ b(\ d +)/ \ 1 \ b''(或'r'^(\ d +)/ \ 1 $')。 –

+0

@WiktorStribiżew「r」做什麼? – CinCout

+1

@CinCout:定義一個原始字符串文字。 –

回答

1

你可以使用這個在python:\b(\d+)\/+\1\b

Demo

這是相同的用例如檢查重複的單詞

編輯文本時,重複的單詞如「的」容易地在你的文本編輯器中使用正則表達式\b(\w+)\s+\1\b,你可以很容易地找到它們。要刪除第二個單詞,只需輸入\1作爲替換文本,然後單擊替換按鈕。

Source

0

我假設你沒有任何其他的捕捉組的基礎上,認爲:

\b(\d+)\/(\1)\b 

enter image description here


Regex Demo

+0

關注評論downvote? –

+1

was not downvote,但我想象缺乏解釋? – chris

+0

對我來說,我已經添加了一個答案,幾乎和Wiktor一樣;),但是在regex101上的一個例子使我多花了2分鐘時間,並且立即沒有任何解釋/評論。這很荒謬,我刪除了它。 –