这是我第一次在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)
答案 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']
如果后面也不应该有正斜杠,则可以将其与连字符一起添加到字符类中。
请注意,如果不匹配单词后的空格,可以从模式中省略空格,后跟星号*
。
\w+(?!.*[-/])