Совпадение последовательных членов в строке с игнорированием пробелов - PullRequest
1 голос
/ 04 апреля 2019

Можете ли вы сказать мне, как написать регулярное выражение, которое сопоставляет последовательные термины с некоторым шаблоном с игнорированием пробелов между ними?

Например, у меня есть строка, подобная этой: %{aaa} %{vvv} hello %{aaa} %{aaa}

, и я хочусопоставьте это: % {aaa}% {vvv} и % {aaa}% {aaa} , где шаблон для терминов должен выглядеть следующим образом:

%{<anything>}

Я понятия не имею, как написать регулярное выражение для этого, но это очень важно для меня.Спасибо за совет.

1 Ответ

2 голосов
/ 04 апреля 2019

Чтобы сопоставить несколько отмеченных блоков, разделенных пробелами, вы можете использовать это регулярное выражение:

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

RegEx Demo

подробности:

  • %\{[^}]*}: сопоставить отдельный блок, начиная с %{ и заканчивая }
  • (?:\s*%\{[^}]*})*: совпадение 0 или более таких тегов, разделенных 0 или более пробелами
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...