正则表达式^^^是什么意思?

尼梅什·尼玛

我试图了解以下基本正则表达式模式:

^^^

这就是我的解释:

  • 第一个脱字符号被视为标记行首的锚点。

  • 第二和第三个插入号字符在字面上进行匹配(因为它们既不在字符类中以引起否定,也不在第一个字符中用作锚点)。

因此,据我了解,我希望它能够与行首处的^^模式匹配我明白吗?

但是,似乎上述正则表达式匹配文件中的每一行,而不管其内容如何。在启用Regex搜索模式的Sublime Text中搜索文本文件时,会观察到此行为。

我想念什么?如何正确解释正则表达式?


更新:使用bash shell运行以下命令时,我观察到不同的行为:

grep "^^^" foo

其中foo是与上述相同的文本文件。正则表达式将所有包含模式的行匹配^^到行首。

我现在对为什么两种情况下的结果不同感到困惑,我如何完全理解行为呢?

一定的表现

什么^匹配将取决于所使用的正则表达式引擎。在许多语言(包括PHP,Python,Javascript和Java)中,^字符类之外的任何位置始终会匹配字符串的开头。启用多行标志后,它还将与行的开头匹配。Notepad ++的正则表达式使用Boost,其行为相同(除了NP ++中没有多行标志;^它将始终与行的开头匹配)。

因此,在NP ++中,这里的^^^意思是:“匹配行首的位置。然后匹配行首的位置。然后匹配行首的位置。”。因此,每行的开始都被匹配。

相比之下,Bash和其他一些实现正则表达式的BRE风格的对象在某些情况下^视为锚

  1. 抑扬(“^”)为一个锚作为整个BRE的第一个字符使用时。当用作子表达式的第一个字符时,该实现可以将抑扬符视为锚点。抑扬应锚定表达(或可选子表达式),以一个字符串的开头; BRE只匹配从字符串的第一个字符开始的序列。例如,BRE“ ^ ab”匹配字符串“ abcdef”中的“ ab”,但不匹配字符串“ cdefab”。BRE“(^ ab)”可能与前一个字符串匹配。便携式BRE必须逃脱子表达式中的前旋抑音符以匹配文字抑扬音。

在这种情况下,第一个^被解释为与行的开头匹配,而后两个^s不是模式的第一个字符,因此被解释为与文字^s匹配,而不是作为行开始锚。

即使给定相同的样式,不同的正则表达式样式也可能具有非常不同的行为。这是其中一种情况。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

[^。] *在正则表达式中是什么意思?

来自分类Dev

这个正则表达式(\ /?)是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

“ \?”在正则表达式中是什么意思?

来自分类Dev

这个正则表达式是什么意思?

来自分类Dev

这个正则表达式是什么意思:[^\(\)]*?

来自分类Dev

(?!a){0}是什么?在Java正则表达式中是什么意思?

来自分类Dev

正则表达式模式前的“ r”是什么意思?

来自分类Dev

正则表达式-无限错误是什么意思?

来自分类Dev

正则表达式中的“转义字符串”是什么意思?(Javascript)

来自分类Dev

[_ | \ _ | \。]是什么意思?在Javascript正则表达式中?

来自分类Dev

春季安全网址中的双星正则表达式是什么意思

来自分类Dev

此正则表达式代码是什么意思

来自分类Dev

括号在正则表达式中是什么意思?

来自分类Dev

“ \ K”在此正则表达式中是什么意思?

来自分类Dev

正则表达式中的(ms)是什么意思?

来自分类Dev

这个JavaScript正则表达式/[^\d.-]是什么意思?

来自分类Dev

此正则表达式(RegEx)标志是什么意思/ iD

来自分类Dev

正则表达式(\ d {3})(?= \ d)是什么意思?

来自分类Dev

在PCRE正则表达式末尾,我和g是什么意思?

来自分类Dev

azAZ在正则表达式中是什么意思?

来自分类Dev

在正则表达式中,反斜杠后加重音符是什么意思?

来自分类Dev

这些perl正则表达式是什么意思?

来自分类Dev

Vimscript正则表达式字符串中的+号是什么意思

来自分类Dev

斜杠在正则表达式中是什么意思?

来自分类Dev

[[.ch。]]在正则表达式中是什么意思?

来自分类Dev

正则表达式(\ d {3})(?= \ d)是什么意思?

来自分类Dev

PHP中的此正则表达式是什么意思?

Related 相关文章

  1. 1

    [^。] *在正则表达式中是什么意思?

  2. 2

    这个正则表达式(\ /?)是什么意思?

  3. 3

    这个正则表达式是什么意思?

  4. 4

    这个正则表达式是什么意思?

  5. 5

    “ \?”在正则表达式中是什么意思?

  6. 6

    这个正则表达式是什么意思?

  7. 7

    这个正则表达式是什么意思:[^\(\)]*?

  8. 8

    (?!a){0}是什么?在Java正则表达式中是什么意思?

  9. 9

    正则表达式模式前的“ r”是什么意思?

  10. 10

    正则表达式-无限错误是什么意思?

  11. 11

    正则表达式中的“转义字符串”是什么意思?(Javascript)

  12. 12

    [_ | \ _ | \。]是什么意思?在Javascript正则表达式中?

  13. 13

    春季安全网址中的双星正则表达式是什么意思

  14. 14

    此正则表达式代码是什么意思

  15. 15

    括号在正则表达式中是什么意思?

  16. 16

    “ \ K”在此正则表达式中是什么意思?

  17. 17

    正则表达式中的(ms)是什么意思?

  18. 18

    这个JavaScript正则表达式/[^\d.-]是什么意思?

  19. 19

    此正则表达式(RegEx)标志是什么意思/ iD

  20. 20

    正则表达式(\ d {3})(?= \ d)是什么意思?

  21. 21

    在PCRE正则表达式末尾,我和g是什么意思?

  22. 22

    azAZ在正则表达式中是什么意思?

  23. 23

    在正则表达式中,反斜杠后加重音符是什么意思?

  24. 24

    这些perl正则表达式是什么意思?

  25. 25

    Vimscript正则表达式字符串中的+号是什么意思

  26. 26

    斜杠在正则表达式中是什么意思?

  27. 27

    [[.ch。]]在正则表达式中是什么意思?

  28. 28

    正则表达式(\ d {3})(?= \ d)是什么意思?

  29. 29

    PHP中的此正则表达式是什么意思?

热门标签

归档