从文档中挖出文本的某一部分时出现问题

2024-04-28 12:41:21 发布

您现在位置:Python中文网/ 问答频道 /正文

如何从下面粘贴的文本部分获取出现在Telephone之前的地址。我尝试了以下方法,但没有任何效果

这是我迄今为止尝试过的代码:

import re

content="""
Campbell, Bellam Associés Inc.

3003 Rue College
 Sherbrooke, QC J1M 1T8 
Telephone: 819-569-9255 
 Website: http://www.assurancescb.com 
"""
pattern = re.compile(r"(.*)(?=Telephone)")
for item in pattern.finditer(content):
    print(item.group())

预期产出:

Campbell, Bellam Associés Inc.
3003 Rue College
Sherbrooke, QC J1M 1T8

文本块总是像粘贴的文本块一样,没有附加任何标志,我选择正面查找,所以我尝试了上面的方法


Tags: 方法文本re粘贴contentinctelephonecampbell
2条回答

dot与换行符不匹配,因此可以使用modifier(?s)re.Sre.DOTALL

pattern = re.compile(r"(.*)(?=Telephone)", re.S)

pattern = re.compile(r"(?s)(.*)(?=Telephone)")

您也可以在不使用组的情况下获得匹配:

(?s).*(?=Telephone)

换线

pattern = re.compile(r"(.*)(?=Telephone)")

pattern = re.compile(r"(.*)(?=Telephone)", re.DOTALL)

以便正则表达式通配符(*)与换行符匹配。 :)

相关问题 更多 >