你如何将2'=='与另一个'=='完全匹配,将其中的所有内容与2x ==标签除外?
例如,我有以下文字,我需要在两个'=='括号之间获取所有内容。下面我想得到A和E(我不介意A之间的空白)。
== A ==
gremjkgmek
=== B ===
evev3tt3wtegrget
==== C ====
regikegerg
=== D ===
rekgmer
== E ==
emrgmegm
您只需将以上内容粘贴到https://regexr.com/
我使用的是以下正则表达式:
==([^=]+?)==*
但有了这个,我显然匹配所有东西(A,B,C,D,E),因为它不会在遇到三个或四个'='标记时忽略。那我该怎么做呢?
答案 0 :(得分:0)
您需要使用^和$:
^ ... matches the beginning of the string
$ ... matches the end of the string
以下是您的解决方案:
^==([^=]+?)==$
修改强>: 在你的例子中是某些行末尾的空格(可能只是通过网页的副本/过去的问题?),在这种情况下你可能想要使用它(也检查最后的空格):
^==([^=]+?)==\s*$
请记住,您需要启用多行标记。 https://regexr.com/3mdi3