我想有一個正則表達式如下相符:正則表達式匹配一些托架項目符號點
(1)喂(2)世界
欲環爲2個匹配,一種是(1 )你好,另一個是(2)世界 爲每場比賽,(1)是第一組「你好」是第二個
我試過(\(\d+\))(.*?)
但失敗。
我想有一個正則表達式如下相符:正則表達式匹配一些托架項目符號點
(1)喂(2)世界
欲環爲2個匹配,一種是(1 )你好,另一個是(2)世界 爲每場比賽,(1)是第一組「你好」是第二個
我試過(\(\d+\))(.*?)
但失敗。
如果您需要使用匹配方法來分別訪問了(n)
和hello
值,你需要使用正則表達式像
(\(\d+\))([^(]*(?:\((?!\d+\))[^(]*)*)
見regex demo。上面的模式是展開的相當於(?s)(\(\d+\))((?:(?!\(\d+\)).)*)
。
詳細:
(\(\d+\))
- 捕獲組1:(
,1+位數,)
([^(]*(?:\((?!\d+\))[^(]*)*)
- 捕獲組2:
[^(]*
- 0+字符以外(
(?:\((?!\d+\))[^(]*)*
- 零個或多個順序CES的:
\((?!\d+\))
- 字面(
沒有隨着1+數字和)
[^(]*
- 比(
其他0+字符。嗨你是如何捕獲多個匹配像循環? –
@AbdulHameed:對不起,我沒有得到像循環*部分那樣的捕獲多個匹配。我的模式解釋中有什麼不清楚嗎?請讓我知道,這樣我可以澄清。 –
我從這個鏈接http://www.rexegg.com/regex-capture.html#spawn_groups看到我們不能自動生成捕獲組......但是你能夠做到這一點。這就是我想知道的.. –
請你精確的環境/正則表達式的味道?你使用正則表達式的代碼是什麼?順便說一句,在大多數情況下,你可能只是用'(?= \(\ d + \))'分開,或者你需要一定有2個捕獲組? –