将行中的连续字词与空格匹配

时间:2019-04-04 17:12:09

标签: regex

您能告诉我如何编写正则表达式,以某种方式将连续术语匹配,而忽略它们之间的空格吗?

例如,我有这样的字符串:%{aaa} %{vvv} hello %{aaa} %{aaa}

并且我要匹配以下内容:%{aaa}%{vvv} %{aaa}%{aaa} ,其中的术语模式应为:

%{<anything>}

我不知道如何为此编写正则表达式,但这对我来说非常重要。谢谢你的建议。

1 个答案:

答案 0 :(得分:2)

要匹配多个用空格隔开的标记块,可以使用此正则表达式:

%\{[^}]*}(?:\s*%\{[^}]*})*

RegEx Demo

详细信息:

  • %\{[^}]*}:匹配一个以%{开始并以}结尾的块
  • (?:\s*%\{[^}]*})*:匹配0个或多个此类标签,并用0个或多个空格分隔