1
我寫了以下正則表達式來匹配來自HTML文件的一組電子郵件。這些電子郵件可以採取各種形式,如RegEx在程序中的異常行爲
alice @ so.edu
alice at sm.so.edu
alice @ sm.com
<a href="mailto:alice at bob dot com">
我一般使用RegexPal的編程語言實現之前測試我的正則表達式。我在發佈的最後一封電子郵件示例中觀察到一種奇怪的行爲。 RegexPal向我展示了我的正則表達式的匹配,但在Python程序中使用相同的正則表達式時,它不會給我帶來任何影響。可能是什麼原因?
mail_regex = (?:[a-zA-Z]+[\w+\.]+[a-zA-Z]+)\s*(?:@|\bat\b)\s*(?:(?:(?:(?:[a-zA-Z]+)\s*
(?:\.|dot|dom)\s*(?:[a-zA-Z]+)\s*(?:\.|dot|dom)\s*)(?:edu|com))|(?:(?:[a-zA-Z]+\s*(?:\.|dot|dom)\s*(?:edu|com))))
RegEx有點複雜,以適應各種其他示例(在數據集中找到的電子郵件模式)。您還可以運行和檢查鍵盤背後的Python程序 - http://codepad.org/W2p6waBb
編輯
只給一個觀點相同的正則表達式的作品上 - http://pythonregex.com/
如果我可能會問,那會是什麼?我可以確認該模式在Python中不匹配。除非我寫的RegEx語言不同,否則我覺得有點令人驚訝。 – Dexter 2012-03-25 02:13:48
謝謝!不能相信我錯過了這一點。我的艱苦工作耗時10個小時。永遠不會忘記這一點。 :-( – Dexter 2012-03-25 02:19:46
)你可以請你詳細說明你的意思是什麼「特定於Python」的語法?除了前綴r(原始字符串)我提到的正則表達式中的所有東西都很好,我猜。 – Dexter 2012-03-25 02:21:08