2010-09-09 104 views
0

a + (ab or cd) + g是我的表達。我如何在Python中編寫正則表達式來匹配這些正則表達式?爲模式編寫正則表達式?

+4

我不明白你想表達的。建議您擴展該帖子以提供幾行文本示例,其中一些符合您希望某些文本不符的內容。然後我們可以清楚地看到你想要匹配什麼。 – djna 2010-09-09 07:01:07

+0

你能更具體一點嗎?你只是想要連接'a'和'ab'或'cd'和'e'一次,或者你需要遞歸的方式嗎? – ubiquibacon 2010-09-09 07:02:32

回答

0

要在搜索字符串這個表達式,說

re.search("a\\+((ab)|(cd))\\+g", your_string) 

要提取的比賽,用re.findall等無需複製粘貼&這裏the docs。 :)

編輯:更新後OP更改正則表達式。

如果你想讓它在兩者之間,事情變得很醜陋匹配空白......

re.search("a\W*\\+\W*((ab)|(cd))\W*\\+\W*g", your_string) 
+0

爲了確保清楚,'+'在正則表達式中具有特殊含義。所以,如果你想從字面上匹配'+'字符本身,你需要將其轉義:'「(a \\ + b)|(cd \\ + e)」' – MatrixFrog 2010-09-09 07:07:50

+0

當然。我假設OP已經考慮到了這一點。 – 2010-09-09 07:08:53

+0

@MatrixFrog:好的......在他最後一次編輯之後,我明白他確實在尋找文字「+」。 – 2010-09-09 07:25:34