Могу ли я использовать обратную ссылку для любого метода PHP regexp?
например, на большинстве языков, которые могут иметь:
<?php
$r = /KEY=(['"])[^\1]*\1/
// or more simply
$r = /KEY=(['"])VAL\1/
Который будет соответствовать KEY="VAL"
и KEY='VAL'
но не путать с KEY="mismatch 'quotes' in val"
как более простой $r=/KEY=['"].*?['"]/
бы.
Может ли любой метод PHP принять это? ПРИМЕЧАНИЕ. Чтобы это было ясно, речь идет не об использовании совпадающих ссылок (или соответствующих групп) в заменяемой части.
PHP почти полностью совместим с PCRE. Таким образом, он поддерживает обратные ссылки.
$r = "/KEY=(['\"])VAL\1/";
[^\1]
. Это будет в основном соответствовать ничему, а не1
. Для имитации этого эффекта вы можете использовать(?:(?!\1).)*