正则表达式的负管道匹配

2024-04-25 05:52:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串叫做"I will kill you today"或者类似的东西。 我要匹配所有不是“kill”或“will”的单词。我相信负面人物类不会起作用,因为这是一个字。我看过负面表情头,但我不太知道如何使用它们。你知道吗

换句话说,当我输入

"I will kill you today"

我想要

['I', 'you', 'today']

当我传递findall方法时。你知道吗


Tags: 方法字符串youtoday单词will表情kill
2条回答

这里您可以使用交替运算符。你知道吗

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']

看起来你不需要正则表达式。只需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']

相关问题 更多 >