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

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

我正在努力摆脱文本板,我就是无法用正则表达式替换像^和 这样的正则表达式$。我肯定勾选了正则表达式框。

我究竟做错了什么?

我正在尝试查找新行的开头。在 TextPad 中,它会查找“^”并确保启用了正则表达式。使用 Notepad++ 不会这样做。它只是显示“未找到”。

答案1

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

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

起始行锚点 ( ^) 是零宽度匹配,因此将其与 . 结合起来将找到行首的任意字符。

也许您可以解释一下您实际上想做什么?

答案2

我自己也遇到过同样的问题。经过反复尝试,您可以通过执行以下操作来实现相同的效果:

寻找:^(.)

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

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

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

寻找:^(.)

代替:'\1

您可以对行尾执行相同操作:

寻找:(.)$

代替:\1*[您想要附加的字符串]*

答案3

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

例子:

匹配行首的“Cat”:

^Cat

在行尾匹配“Cat”:

Cat$

将“Cat”作为一行中的唯一内容进行匹配:

^Cat$

匹配一行中的“$100”:

\$100 

这里是 Notepad++ 中有关正则表达式匹配的具体链接。

答案4

以下是操作方法...

前:

$_GET['id']; $_GET['nick'];

后:

htmlentities($_GET['id']); htmlentities($_GET['nick']);

所以。在寻找字段放置:

$_GET(.*])

代替字段放置:

htmlentities($_GET\1)

相关内容