我想寫一個正則表達式來捕獲電子郵件ID。自從使用regexpal.com幾個小時後進行測試。在網站上,它能夠捕捉所有的電子郵件ID。當我在Python中替換相同的正則表達式並執行re.findall(pattern,line)時,它無法捕捉它。正則表達式正則表達式正則表達式使用正則表達式,但不是與Python
正則表達式:
[a-zA-Z0-9-_]+[(.)?a-zA-Z0-9-_]*\s*(@|at)\s*[a-zA-Z0-9-_]+\s*(.|dot)\s*[a-zA-Z0-9-_]*\s*(.|dot)\s*e(\-)?d(\-)?u(\-)?(.,)?
實施例:
Line = <TR> <TD><B>E-Mail: </B> <TD><A HREF=MailTo:*[email protected]*\>*[email protected]*</A>
(上regexpal.com正確突出顯示)。
使用Python:
for line in f:
print 'Line = ',line
matches = re.findall(my_first_pat,line)
print 'Matches = ',matches
給出輸出:
Line = <TR> <TD><B>E-Mail: </B> <TD><A HREF=MailTo:[email protected]>[email protected]</A>
Matches = [('@', 'd', '.', '', '', '', ''), ('@', 'd', '.', '', '', '', '')]
問題是什麼?
你能解釋一下我應該如何使用非捕獲組,或者將整個事物包裝在一個組中? – crazyaboutliv 2012-07-26 07:37:20
有關信息,請查看任何正則表達式教程或參考,例如http://www.regular-expressions.info/。 – BrenBarn 2012-07-26 08:18:42