星号 (*) 和加号 (+) 在 Notepad++ 中不能用作正则表达式

rog*_*lad 3 notepad++ regex

我正在使用Notepad++并学习正则表达式,但我想知道为什么某些元字符在编辑器中不起作用,即星号 (*) 和加号 (+)。

例如:

这棵树长着叶子和花,看起来棒极了。

正则表达式:[tre*]

上面的正则表达式在 Notepad++ 中没有按预期工作。

Red*_*ick 11

我的目的是匹配tre及其前面的字符。

那么在你的榜样The tree is looking awesome with leaves and flowers.字片段trepreceeded由同一个词的任何字符,它是由它们是早期的话一部分字符preceeded。这使您的问题看起来有点模棱两可。

要匹配后跟“t”然后是“r”然后是“e”的任何字符,我会使用.*tre.

要匹配“t”然后“r”然后“e”后跟任何字符,我会使用tre.*.

要匹配以“t”然后“r”然后“e”开头的单词,我会使用tre\w*

我的正则表达式是 [tre*]

即匹配单个字符,匹配的字符可以是指定的四个字符中的任意一个。在[]元字符内部*被当作​​普通字符处理(因为这是在该上下文中处理它的最有用的方式)。

括号[]用于指定在文本中可以找到的一个字符,该字符可以有多种可能性。例如,如果您想匹配任何一个单词,Tree或者tree您可以使用[Tt]reewhich 表示匹配一个字符,该字符是Tt后跟第二个字符,r后跟第三个字符,e后跟第四个字符e.

您可以匹配Treetree使用.ree.匹配任何单个字符,因此 RE 也会匹配free您可能不想要的其他单词。[]为您提供一种比.指定文本中要匹配的单个字符的值更具体的方法