我试图通过使他们的形式Firstname Lastlame
表明他们的名字。这适用于下面的代码,但我希望能够捕获像Pär Åberg
这样的国际名称。我找到了一些解决方案,但他们确实不似乎不适用于Python风格的正则表达式。任何人都有这样的感觉?匹配表单上的名字名字姓氏与国际字符
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
text = """
This is a text containing names of people in the text such as
Hillary Clinton or Barack Obama. My problem is with names that uses stuff
outside A-Z like Swedish names such as Pär Åberg."""
for name in re.findall("(([A-Z])[\w-]*(\s+[A-Z][\w-]*)+)", text):
firstname = name[0].split()[0]
print firstname
小心带捕获组和findall。 –
对于姓氏,您可以搜索空格之间的任何字符 – Onilol
尝试're.findall(r'[AZ] [\ w - ] *(?:\ s + [AZ] [\ w - ] *)+')' –