регулярное выражение для извлечения адреса, телефона и факса - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть строка 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,"""

Может кто-нибудь подсказать, что является лучшим регулярным выражением для получения информации в обоих случаях по трем отдельным адресам переменных, телефонам и факсам.

Спасибо за помощь

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018

Вы можете использовать это регулярное выражение, которое собирает данные в три группы: Адрес, Телефон и Факс и делает группы Телефон и Факс необязательными,

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

Демо

Дайте мне знать, если у вас возникнут проблемы.

0 голосов
/ 01 декабря 2018

Разделить на 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...