'left' =>
$left, 'right' =>
$right],
['operator' =>
$operator] );
} public function compile(Compiler
$compiler): void
{ $operator =
$this->attributes
['operator'
];
if ('matches' ==
$operator) { if ($this->nodes
['right'
] instanceof ConstantNode
) { $this->
evaluateMatches($this->nodes
['right'
]->
evaluate([],
[]), ''
);
} $compiler ->
raw('(static function ($regexp, $str) { set_error_handler(static fn ($t, $m) => throw new \Symfony\Component\ExpressionLanguage\SyntaxError(sprintf(\'Regexp "%s" passed to "matches" is not valid\', $regexp).substr($m, 12))); try { return preg_match($regexp, (string) $str); } finally { restore_error_handler(); } })('
) ->
compile($this->nodes
['right'
]) ->
raw(', '
) ->
compile($this->nodes
['left'
]) ->
raw(')'
) ;
return;
}