2017-02-12 151 views
0

我有3幾乎相同的正則表達式正則表達式OR兩個或多個條件?

re_pattern = re.compile(r'[\w\.-]+ \(at\) +[\w\.-]+') 
re_pattern = re.compile(r'[\w\.-]+\ at\ +[\w\.-]+') 
re_pattern = re.compile(r'[\w\.-]+\(at\)+[\w\.-]+') 

如何我可以結合一個? 像

re_pattern = re.compile(r'[\w\.-]+\(at\)|\ at\ | \(at\) +[\w\.-]+') 

我嘗試了,但沒有工作

+0

**應該是什麼比賽** –

+0

FYI:點在字符類中不需要轉義 – Toto

回答

1

你看上去重排列在同一網段。 「在」後&之前,你等着,等着空間,括號或什麼... ...所以你可以把它們放在括號和使用*

re_pattern = re.compile(r'[\w.\-]+[(\s]*at[)\s]*[\w.\-]+') 
+0

得到python錯誤 – Vladimircape

+1

意外地在那裏留下了過多的'+',再試一次 – casraf

+0

謝謝,這是正確的 – Vladimircape