将 2x == 精确匹配到另一个 2x ==

Match exactly 2x == to another 2x ==

如何将 2 个“==”与另一个“==”精确匹配,将其中除 2x == 标签之外的所有内容都包含在内?

例如,我有以下文本,其中我需要获取两个“==”括号之间的所有内容。下面我想得到 A 和 E(我不介意 A 之间的空格)。

== A == gremjkgmek === B === evev3tt3wtegrget ==== C ==== regikegerg === D === rekgmer == E == emrgmegm
您可以将上面的内容粘贴到 https://regexr.com/

我使用了以下正则表达式:

==([^=]+?)==* 

但是我显然匹配了所有内容(A、B、C、D、E),因为它不会在遇到三个或四个“=”标记时忽略。那么我该怎么做呢?

您需要使用 ^ 和 $:

^ ... matches the beginning of the string
$ ... matches the end of the string

这是您的解决方案:

^==([^=]+?)==$

编辑: 在您的示例中,某些行的末尾有空格(可能只是网页上的 copy/past 问题?),在这种情况下,您可能想使用它(还要检查末尾的空格):

^==([^=]+?)==\s*$

请记住,您需要启用多行标志。 https://regexr.com/3mdi3