用于查找 %%{ANYTHING}%% 的多个实例的正则表达式


SomeRandomText=%EXAMPLE1%,MoreRandomText=%%ONE%%!!%%TWO%%,YetMoreRandomText=%%THREE%%%FOUR%!!%FIVE%%%SIX%%

我需要一个正则表达式,它可以提取任何包装在"%%"中的内容 - 因此此正则表达式仅匹配以下内容:

    %%
  • 一%%
  • %%
  • 二%%
  • %%
  • 三%%
  • %%
  • 六%%

我已经尝试了很多不同的方法,并且确信有一种方法可以实现这一目标 - 但我仍在努力。我主要最终得到它,它将匹配字符串中从第一个%%到最后一个%%的所有内容 - 这不是我想要的。我想我需要类似正向查找的东西,但很难实现

你需要

一个非贪婪的匹配,使用 ? 修饰符:

%%.*?%%

在线查看它的工作:rubular

这也可以通过限制%之间允许的内容来完成。

%%[^%]*%%

但是,这比非贪婪匹配得到更广泛的支持 请注意,这与 %%A%B%% 不匹配。虽然,如有必要,这可以通过一些修改来完成:

%%([^%]|%[^%])*%%

或等效

%%(%?[^%])*%%

相关内容

最新更新