вы печатаете представление самого объекта сопоставления, более полезное для отладки.В Python 2 не было сделано больших усилий для этого представления, оно просто печатает тип объекта и адрес:
<_sre.SRE_Match object at 0x0000000003425E68>
<_sre.SRE_Match object at 0x0000000003425ED0>
<_sre.SRE_Match object at 0x0000000003425E68>
В моей версии Python 3 я получаю лучшую распечатку, возможно, пришло время перейти наpython 3 ...:
<_sre.SRE_Match object; span=(1, 24), match='CoreyMSchafer@gmail.com'>
<_sre.SRE_Match object; span=(25, 53), match='corey.schafer@university.edu'>
<_sre.SRE_Match object; span=(54, 83), match='corey-321-schafer@my-work.net'>
В любом случае, вы хотите напечатать основную захваченную группу:
for match in matches:
print(match.group(0))
результат:
CoreyMSchafer@gmail.com
corey.schafer@university.edu
corey-321-schafer@my-work.net
обратите внимание, что вы должныобычно тестируют if match is not None:
перед доступом к group
(в случае re.match
, который не соответствует), но здесь, поскольку результат был создан finditer
, гарантируется, что вы получите совпадающие объекты, а не None