我有一个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,"""
有人可以告诉我在三种情况下,分别通过地址,电话和传真获取信息的最佳正则表达式是什么。
感谢您的帮助
答案 0 :(得分:2)
您可以使用此正则表达式来捕获地址,电话和传真三个组中的数据,并使电话和传真组为可选,
(?<Address>.+)\s*(?:Phone:\s*(?<Phone>[^a-zA-Z]*))?\s*(?:Fax:\s*(?<Fax>.*))?
让我知道您是否遇到任何问题。
答案 1 :(得分:1)
由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)