Regex: Можно ли ссылаться на все повторы захвата? - PullRequest
2 голосов
/ 11 марта 2010

Рассмотрим это регулярное выражение: ^([0-9]+)(?: ([-\+/%\*]) ([0-9]+))+$

На английском языке написано «число, за которым следует один или несколько (операция и другой номер)».

Сопоставляется с таким предметом, как 5 + 4, что регулярное выражение производит $ 1 = 5, $ 2 = + и $ 3 = 4.

Сопоставлено с этим предметом: 5 + 4 * 3, я получаю $ 1 = 5, $ 2 = * и $ 3 = 3.

В этом последнем случае я могу захватить и сослаться на + и 4?

Другими словами, при использовании квантификатора в регулярном выражении, могу ли я ссылаться на последовательности, отличные от конечной захваченной последовательности?

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

  • C, с PCRE
  • Javascript
  • .NET, с System.Text.RegularExpressions

1 Ответ

1 голос
/ 11 марта 2010

В .NET вы бы использовали

myMatch.Groups[1].Captures
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...