小编Lui*_*bro的帖子

如何使用正则表达式提取人名?

我是正则表达式的新手,并且我有一个电话目录。我想从中提取名称。我写了这个(下),但是它提取了很多不需要的文本,而不仅仅是名字。您能告诉我我在做什么错以及如何纠正吗?这是我的代码:

import re

directory = '''Mark Adamson
Home: 843-798-6698
(424) 345-7659
265-1864 ext. 4467
326-665-8657x2986
E-mail:madamson@sncn.net
Allison Andrews
Home: 612-321-0047
E-mail: AEA@anet.com
Cellular: 612-393-0029
Dustin Andrews'''


nameRegex = re.compile('''
(
[A-Za-z]{2,25}
\s
([A-Za-z]{2,25})+
)

''',re.VERBOSE)

print(nameRegex.findall(directory)) 

Run Code Online (Sandbox Code Playgroud)

它给出的输出是:

[('Mark Adamson', 'Adamson'), ('net\nAllison', 'Allison'), ('Andrews\nHome', 'Home'), ('com\nCellular', 'Cellular'), ('Dustin Andrews', 'Andrews')]
Run Code Online (Sandbox Code Playgroud)

真的很感谢您的帮助!

python regex

4
推荐指数
1
解决办法
101
查看次数

标签 统计

python ×1

regex ×1