0
Возьмем следующий код:группировка перед положительным не соответствует 'назад
$target = 'NAME FUNC LPAREN P COMMA P COMMA P RPAREN';
//$target = 'NAME FUNC LPAREN P RPAREN';
//$target = 'NAME FUNC LPAREN RPAREN';
$pattern = '/(?P<ruleName>NAME)?(?P<funcName>FUNC)?(?:(?<=LPAREN)(?: (?P<arg1>P))|(?P<args>P)(?=(?: RPAREN)|(?: COMMA)))/';
preg_match_all($pattern,$target,$matches,PREG_OFFSET_CAPTURE|PREG_PATTERN_ORDER);
Мне нужно получить позицию NAME, FUNC и каждый Р в пределах $ цели (таким образом PREG_OFFSET_CAPTURE). Шаблон работает для Ps, но он не соответствует ни одной из названных групп «ruleName» или «funcName».
Что мне не хватает?
Спасибо.
Действительно, спасибо, исправлено. В любом случае это не влияет на то, что он не работает. – Flavius