匹配正则表达式中不包括关键字的短语

克里斯

我正在尝试使用 Regex 根据以下条件返回匹配项:

  • 包含特殊字符的单词不匹配。

  • 关键字 AND 和 OR 不匹配。

  • 一个空格匹配的单词和此后的任何单词,例如 -

    'lorem Ipsum 只是打印的虚拟和文本'

以上应返回以下匹配项:

  • 逻辑推理
  • 那是
  • 简直就是
  • 简直是假的
  • 正文
  • 印刷

我已经能够让正则表达式匹配每个单词,除了正确但没有捕获空格的关键字。我采用了两种类似的方法,但结果略有不同:

此正则表达式匹配单词及其空格,但该模式不会延续到下一个单词。

(\w*[^OR|^AND] [^OR|^AND]\w*)

表达式非常接近,但它没有返回我上面提到的所有想要的匹配项,我错过了什么?

第四只鸟

在您的模式中,您使用了一个否定字符类[^OR|^AND]该类将不匹配任何列出的字符,因此它将匹配任何字符,除了ADNOR|^

如果支持前瞻捕获组,您可以使用组合正前瞻来断言右侧的内容是 2 个单词,并使用负前瞻断言直接在右侧的内容不是ORor 或AND

要匹配单词,您可能会使用匹配单词字符 \w+

您的比赛将在第一个捕获组中。

(?=(\b(?!(?:AND|OR)\b)\w+ (?!(?:AND|OR)\b)\w+\b))

解释

  • (?= 正向前瞻,断言直接在右边的是
    • ( 捕获组 1
      • \b(?!(?:AND|OR)\b) 词边界和断言直接在右边的不是 AND / OR
    • \w+ 匹配 1+ 个单词字符后跟一个空格
    • (?! 负前瞻,断言直接在右边的不是
      • (?:AND|OR)\b)\w+\b 匹配AND / OR,然后词边界,1+字字符和词边界
    • ) 关闭第一个捕获组
  • ) 关闭正向前瞻

正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式可匹配关键字之间的所有内容(包括换行符)

来自分类Dev

正则表达式:我无法为匹配关键字创建正则表达式吗?

来自分类常见问题

要匹配的正则表达式模式,不包括... /

来自分类Dev

PHP正则表达式匹配多个关键字,其中last关键字是可选的

来自分类Dev

基于关键字过滤的正则表达式

来自分类Dev

Golang正则表达式以匹配关键字对之间的多种模式

来自分类Dev

在主题之前或之后出现关键字时进行正则表达式匹配

来自分类Dev

正则表达式以匹配静态关键字和变量

来自分类Dev

正则表达式以匹配不在<a>标签或alt属性内的关键字

来自分类Dev

正则表达式用于多个关键字匹配

来自分类Dev

正则表达式匹配特定上下文中的关键字

来自分类Dev

正则表达式按顺序匹配 2 个分隔的关键字

来自分类Dev

正则表达式,不包括R中的单词

来自分类Dev

正则表达式不包括在引号中

来自分类Dev

使用正则表达式替换python中dataframe值中的某些关键字

来自分类Dev

R中的正则表达式-排除关键字

来自分类Dev

使用正则表达式在Notepad ++中搜索包含特定关键字的整个单词

来自分类Dev

Java正则表达式,替换SQL查询中的关键字

来自分类Dev

在 c# setter 中查找关键字的正则表达式

来自分类Dev

C#正则表达式以匹配TEXT中的关键字,并在匹配项中得到一些单词

来自分类Dev

匹配不具有相同单词的关键字的正则表达式出现在另一个关键字之前

来自分类Dev

正则表达式-提取直到匹配,并且不包括该匹配

来自分类Dev

正则表达式匹配大于长度的字符串,但不包括末尾的匹配

来自分类Dev

使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

来自分类Dev

使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

来自分类Dev

如何匹配带有或不带有关键字的多行日志条目(正则表达式)

来自分类Dev

使用一个或多个单词作为搜索关键字匹配一行的正则表达式

来自分类Dev

用于搜索特定关键字的正则表达式以及用于时间搜索的正则表达式

来自分类Dev

正则表达式:匹配两个关键字之间的字符串,并在多行中混合无用的数据

Related 相关文章

  1. 1

    正则表达式可匹配关键字之间的所有内容(包括换行符)

  2. 2

    正则表达式:我无法为匹配关键字创建正则表达式吗?

  3. 3

    要匹配的正则表达式模式,不包括... /

  4. 4

    PHP正则表达式匹配多个关键字,其中last关键字是可选的

  5. 5

    基于关键字过滤的正则表达式

  6. 6

    Golang正则表达式以匹配关键字对之间的多种模式

  7. 7

    在主题之前或之后出现关键字时进行正则表达式匹配

  8. 8

    正则表达式以匹配静态关键字和变量

  9. 9

    正则表达式以匹配不在<a>标签或alt属性内的关键字

  10. 10

    正则表达式用于多个关键字匹配

  11. 11

    正则表达式匹配特定上下文中的关键字

  12. 12

    正则表达式按顺序匹配 2 个分隔的关键字

  13. 13

    正则表达式,不包括R中的单词

  14. 14

    正则表达式不包括在引号中

  15. 15

    使用正则表达式替换python中dataframe值中的某些关键字

  16. 16

    R中的正则表达式-排除关键字

  17. 17

    使用正则表达式在Notepad ++中搜索包含特定关键字的整个单词

  18. 18

    Java正则表达式,替换SQL查询中的关键字

  19. 19

    在 c# setter 中查找关键字的正则表达式

  20. 20

    C#正则表达式以匹配TEXT中的关键字,并在匹配项中得到一些单词

  21. 21

    匹配不具有相同单词的关键字的正则表达式出现在另一个关键字之前

  22. 22

    正则表达式-提取直到匹配,并且不包括该匹配

  23. 23

    正则表达式匹配大于长度的字符串,但不包括末尾的匹配

  24. 24

    使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

  25. 25

    使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

  26. 26

    如何匹配带有或不带有关键字的多行日志条目(正则表达式)

  27. 27

    使用一个或多个单词作为搜索关键字匹配一行的正则表达式

  28. 28

    用于搜索特定关键字的正则表达式以及用于时间搜索的正则表达式

  29. 29

    正则表达式:匹配两个关键字之间的字符串,并在多行中混合无用的数据

热门标签

归档