Как найти много экземпляров определенного шаблона в RegEx? - PullRequest
0 голосов
/ 22 февраля 2012

В настоящее время (в PHP) у меня есть следующий шаблон регулярных выражений:

\[(.*) (.*)=(.*)\]

Это соответствует [ограничение doSomething = true]

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

Однако, для моего кода требуется несколько переменных, отправленных в функцию, например:

[ограничение doSomething = истина другое ограничение = ложь sendfile = 1 title = "hello there"]

Как я могу сделать (. ) = (. ) в регулярном выражении повторяемым, чтобы оно соответствовало каждой передаваемой переменной, включая первое (самое важное) имя функции?

1 Ответ

0 голосов
/ 22 февраля 2012

Вам могут помочь:

\[(.*) ((.*)=(.*))+\]

Возможно, вы также захотите заменить звездочки знаком плюс.В настоящее время ваше регулярное выражение будет соответствовать [ =] в качестве допустимой строки.

\[(.+) ((.+)=(.+))+\]
...