Подстрока Regex
Я хочу извлечь Телефон, Факс, Мобильный Я получаю из строки, если нет Может вернуть пустую строку.Я хочу, чтобы 3 списка телефонов, факсов, мобильных телефонов из любого данного примера текстовой строки приведены ниже.
ex1 = "miramar road margie shoop san diego ca 12793 manager phone 6035550160 fax 6035550161 mobile 6035550178 marsgies travel wwwmarpiestravelcom"
ex2 = "david packard electrical engineering 350 serra mall room 170 phone 650 7259327 stanford university fax 650 723 1882 stanford california 943059505 ulateecestanfordedu"
ex3 = "stanford electrical engineering vijay chandrasekhar electrical engineering 17 comstock circle apt 101 stanford ca 94305 phone 9162210411"
Это возможно с помощью регулярного выражения:
phone_regex = re.match(".*phone(.*)fax(.*)mobile(.*)",ex1)
phone = [re.sub("[^0-9]","",x) for x in phone_regex.groups()][0]
mobile = [re.sub("[^0-9]","",x) for x in phone_regex.groups()][2]
fax = [re.sub("[^0-9]","",x) for x in phone_regex.groups()][1]
Результат с ex1
:
телефон = 6035550160
факс = 6035550161
моб. = 6035550178
ex2
не имеет моб. запись, поэтому я получаю:
Traceback (последний последний вызов):
phone = [re.sub ("[^ 0-9]", "", x)для x в phone_regex.groups ()] [0]
AttributeError: у объекта 'NoneType' нет атрибута 'groups'
Вопрос
Мне нужно либо лучшее решение для регулярных выражений, поскольку я новичок в регулярных выражениях, либо решение, чтобы перехватить AttributeError и назначить null string
.