メールIDをキャッチするための正規表現を作成しようとしています。regexpal.comを使用してかなりの数時間からテストしています。このサイトでは、すべての電子メールIDをキャッチできます。Pythonで同じ正規表現を置き換えてre.findall(pattern、line)を実行すると、それをキャッチできません。
正規表現:
[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:*example.young@stackoverflow.edu*\>*example.young@stackoverflow.edu*</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:example.young@stackoverflow.edu>example.young@stackoverflow.edu</A>
Matches = [('@', 'd', '.', '', '', '', ''), ('@', 'd', '.', '', '', '', '')]
どうした ?