我正在努力摆脱文本板,我就是无法用正则表达式替换像^
和 这样的正则表达式$
。我肯定勾选了正则表达式框。
我究竟做错了什么?
我正在尝试查找新行的开头。在 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)