Я не уверен, что один из них «лучше», чем другой, и почему это так, но у меня есть оригинальная строка, которая выглядит следующим образом:
$string = '/random_length_user/file.php';
Теперь есть два способа сопоставить его: первый, используя моего нового друга, оглядывающийся назад, и второй, без:
preg_match("%(?<=^/)([^/]*)%", $string, $capture);
preg_match("%^/([^/]*)%", $string, $capture);
Они возвращаются в порядке:
Array
(
[0] => random_length_user
)
Array
(
[0] => /random_length_user
[1] => random_length_user
)
По сути, я получаю желаемый результат в $ capture [0], используя просмотр в обратном направлении, и в $ capture [1] без. Теперь вопрос в том ... есть ли причина предпочитать один из этих методов другому?