带等号的正则表达式在 Notepad++ 中不起作用

Regex with equals sign not working in Notepad++

问题

我无法在 Notepad++ 中匹配只有重复 等号 (=) 的行。我在纯文本文档中搜索以“=”开头并以“=”结尾的任何行。例如,所有这些都应该匹配我的正则表达式:

========================

==================

==

=================================================

,等等

我的代码

这是我的正则表达式:

^(=*)$

正则表达式不仅没有找到等号,反而错误地找到了空行

理由

^ = 行以等号开头。

=* = 找到一个或多个等号的任意序列

$=行以等号结尾

但是我的正则表达式不起作用。 Notepad++ 中一定有一些奇怪的异常,因为我验证了 等号不必在 JavaScript 中转义并且我的正则表达式在此在线正则表达式测试器上运行良好:

https://regex101.com/

我发现没有结果的链接

我的问题

  1. 为什么我的正则表达式只返回空行?

  2. 如果我的正则表达式是错误的,请解释原因以及正确的正则表达式是什么来进行我的查找。最终我也会做一个替换,但我不想混淆这个问题。

对提议的副本的反馈

有人建议此 post 可能与 this question 重复。 post 不是重复项,原因如下:

即使两个post的内容相似:

  1. 如果用户找到标题中带有 "plus vs. star" 的建议 post,则表明 he/she 已经知道问题出在哪里(即,使用 "plus" 而不是 "star").

  2. 其他有这个问题并且和我有同样困境的人不一定知道 plus vs star 是问题所在。

  3. 如果在我搜索 "equals sign regex not working notepad++" 时建议的 post 作为可能的答案出现,我就不必花时间写这个 post.

* 为零个或多个。 + 是一个或多个。

将正则表达式中的 * 替换为 +。 所以你的正则表达式将是 ^(=+)$,这将只匹配带有 = 的行并跳过任何其他内容。