Python Regex: AttributeError: объект 'str' не имеет атрибута 'Match' - PullRequest
0 голосов
/ 03 апреля 2019

Это первый раз, когда я использую регулярные выражения с python и пытаюсь выяснить, почему он считает, что ошибка "AttributeError: объект 'str' не имеет атрибута 'Match'"

Я делаю это в блокноте Jupyter. Что я здесь не так делаю? Я вижу только один другой бесполезный вопрос с той же ошибкой отсутствующего атрибута.

import re
grp =  "Application: Company Name / 184010 - Application Development / 184010 - Contract Express"
rgx = "\w+ *(?!.*-)"
res = grp.match(rgx)
print(res)

1 Ответ

1 голос
/ 04 апреля 2019

Вы хотите использовать re.match , но это начинается в начале строки.Вместо этого вы можете использовать findall :

import re
grp =  "Application: Company Name / 184010 - Application Development / 184010 - Contract Express"
rgx = "\w+ *(?!.*-)"
res = re.findall(rgx, grp)
print(res)  # ['Contract ', 'Express']

Python demo

Если после этого не должно быть прямой косой черты, вы можете добавить, чтов класс персонажа вместе с дефисом.

Обратите внимание: чтобы не совпадать с пробелом после слова, можно пропустить пробел, за которым следует звездочка * в шаблоне.

\w+(?!.*[-/])

Regex demo | Python demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...