我有以下句子:
从我的列表中删除所有内容
从我的列表中删除
删除列表
从我的列表中删除所有内容
Akash 从我的列表中删除所有内容
这是我的正则表达式:
(?i)^.*(!delete all|!remove all|remove|delete)(.*?)(from my list|from the list|from list|list|reminders|shopping list|reminders list)(.*)$
我不希望它与“删除全部”或“删除全部”匹配,但上面的内容也不匹配,即使我已经提到 !delete all|!remove all
感到困惑!
最佳答案
您正在寻找negative lookahead assertion这里:
(?i)(?:delete|remove)(?!\s+all)
(?!\s+all)
是一个否定的先行断言,如果 delete
后有空格和 all
,则匹配失败删除
。
关于java - 什么合适的正则表达式可以排除某个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46326759/