java - 什么合适的正则表达式可以排除某个单词

标签 java regex

我有以下句子:

从我的列表中删除所有内容

从我的列表中删除

删除列表

从我的列表中删除所有内容

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)

RegEx Demo

(?!\s+all) 是一个否定的先行断言,如果 delete 后有空格和 all ,则匹配失败删除

关于java - 什么合适的正则表达式可以排除某个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46326759/

相关文章:

java - 是否可以仅使用 lambda 表达式将字符串转换为 int[]?

java - 在 viewpager fragment 之间传递参数

java - Elasticsearch中的字符串字典范围查询

java - 解释: How does Java work as a web application?

regex - gawk RS 仅在行首带有 ^

c# - 正则表达式不匹配任何html标签

java - 如何抓取所有以大写字母开头的单词?

java - Selenium WebDriver - Dropbox 选择 Java

Java正则表达式匹配

mysql - 在 mysql 列中查找不连续的重复文本