我有一个叫做"I will kill you today"
之类的字符串,或类似的东西。
我希望匹配所有不是' kill'或者'将'我相信负面角色类不会起作用,因为这是一个单词。我看过负面的前瞻,但我不太清楚如何使用它们。
换句话说,当我输入
"I will kill you today"
我想要
['I', 'you', 'today']
当我通过findall
方法时。
答案 0 :(得分:0)
您可以在这里使用交替运算符。
re.findall(r'\b(?:[kw]ill)\b|\b(\w+)\b', s)
示例:
>>> import re
>>> s = "I will kill you today"
>>> [i for i in re.findall(r'\b(?:[kw]ill)\b|\b(\w+)\b', s) if i]
['I', 'you', 'today']
答案 1 :(得分:0)
似乎你不需要正则表达式。只需split()
字符串并过滤掉您不感兴趣的字词:
s = "I will kill you today"
result = [word for word in s.split() if word.lower() not in ('kill', 'will')]
结果:
>>> result
['I', 'you', 'today']