2012-07-23 96 views
2

我想要一個正則表達式可以匹配一個組或兩個組。這是一個看起來如何的例子。無論是這樣的:正則表達式匹配一個或兩個組或兩者都

(鍵)

或者這樣:

(密鑰 「值」)

到目前爲止,我想出了一個表達式與後面的例子匹配。但我不知道如何修改它,以便匹配第一個或後一個。那就是:

\((?P<property_key>[^() ]+) "(?P<property_value>[^"]*)"\) 
+0

是'regex'這樣做的(整個)正確的答案?爲什麼不簡單匹配帶括號的表達式,然後在空白處分割(x,1)'它們呢? – kojiro 2012-07-23 20:17:11

回答

1

我相信你正在尋找的正則表達式模式

\((?P<property_key>\w+)(?:\s+"(?P<property_value>\w+)")?\) 
+0

哦!如何切割機解決方案,你想出了!非常感謝你,它解決了我所有的問題。願這支部隊與你同在,年輕的夥伴。 – Eric 2012-07-24 08:00:34

相關問題