Python正则表达式:AttributeError:'str'对象没有属性'Match'

时间:2019-04-03 15:13:08

标签: python regex

这是我第一次在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 个答案:

答案 0 :(得分:1)

您要使用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