正则表达式提取地址、电话和传真

2024-05-23 15:05:27 发布

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

我有一个python字符串,它是我在解析网页时检索到的。你知道吗

    str1='Suite 100, 2010 Eglinton Avenue West, Toronto ON  M6E 2K3, 
      Phone: (416) 781-2050, Fax: (416) 781-1910'

很明显,str1拥有所有的数据。此字符串有时没有电话和传真,比如你知道吗

    str1="""Suite 100, 2010 Eglinton Avenue West, Toronto ON  M6E 2K3,"""

有人能告诉我什么是最好的正则表达式,以获得这两种情况下的信息在三个不同的变量地址,电话和传真。你知道吗

谢谢你的帮助


Tags: 数据字符串网页on情况phonesuite电话
2条回答

Phone:Fax:拆分:

import re
str1='Suite 100, 2010 Eglinton Avenue West, Toronto ON  M6E 2K3, Phone: (416) 781-2050, Fax: (416) 781-1910'
re.split("Phone:|Fax:", str1)

您可以使用这个regex,它捕获地址、电话和传真三个组中的数据,并使电话和传真组成为可选组

(?<Address>.+)\s*(?:Phone:\s*(?<Phone>[^a-zA-Z]*))?\s*(?:Fax:\s*(?<Fax>.*))?

Demo

如果你有任何问题,请告诉我。你知道吗

相关问题 更多 >