Рассмотрим это регулярное выражение: ^([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