NotePad++ - 为什么找到 ^ 不起作用?

Jac*_*ada 20 notepad++ regex

我正在尝试远离TextPad,我只是无法获得像^$替换的正则表达式。我肯定勾选了正则表达式框。

我究竟做错了什么?

我试图找到一个新行的开始。在 TextPad 中,查找 '^' 并确保启用正则表达式。使用记事本++它不会这样做。它只是说“未找到”。

Joh*_*don 28

^ 和 $ 都是Regex 中的锚点,这意味着如果您想替换文字字符^并且$需要对它们进行转义,通常使用前导反斜杠 ( \^, 和\$)。

要查找一行中的第一个字符,请使用 ^.

起始线锚点 ( ^) 是零宽度匹配,因此将其与 . 将在一行的开头找到任何字符。

也许你可以解释一下你真正想要做什么?


小智 8

因为这些是代表行首 ( ^) 和行尾 ( $) 的特殊字符。尝试使用\.

例子:

匹配行首的“Cat”:

^Cat
Run Code Online (Sandbox Code Playgroud)

匹配行尾的“Cat”:

Cat$
Run Code Online (Sandbox Code Playgroud)

匹配 "Cat" 作为唯一一行:

^Cat$
Run Code Online (Sandbox Code Playgroud)

匹配一行中的“$100”:

\$100 
Run Code Online (Sandbox Code Playgroud)

是 Notepad++ 中正则表达式匹配细节的链接。

  • 该链接似乎(实际上)已损坏。 (2认同)

小智 7

我自己也遇到过同样的问题。经过一些试验和错误后,您可以通过执行以下操作来实现相同的效果:

查找:^(.)

替换:[您希望插入的字符串] \1

这将做的是定位并标记该行的第一个字符,放入新字符串并在其后放置标记字符。

例如,我需要在每一行的开头插入一个单引号:

查找:^(.)

替换:'\1

您可以通过执行以下操作对行尾执行相同的操作:

查找:(.)$

替换:\1*[你想追加的字符串]*