Двойники здесь используются как разделители.
Вам нужно использовать разделители для регулярного выражения в PHP, чтобы механизм регулярных выражений мог знать, где запускается регулярное выражение и где заканчивается регулярное выражение, и это исключает кавычки, которые вы используете в этой функции.
Это особенно важно, чтобы движок регулярных выражений может различать между действительным регулярным выражением и флагами (если таковой имеется), которые будут использоваться (например, i
(для случая нечувствительны соответствия), s
(чтобы сделать матч точки новой строки), u
(для обеспечения соответствия символов Юникода) и т. д.)
Вы можете использовать различные разделители, и вы можете использовать «подходящий» вариант в зависимости от ситуации. Например, наиболее распространенным разделителем для использования является косая черта: /
. Когда вы используете прямую косую черту в качестве разделителя, вам придется избегать косых черт в регулярном выражении (используя обратную косую черту).
В противном случае, вы можете изменить сам и это сказал разделитель, вы можете использовать разделитель, такой как #
или !
или |
или ~
или {}
и так далее, до тех пор, это не алфавитно-цифровой или обратной косой черты.
Это означает, что вы можете использовать:
preg_match(':/$:', $string);
preg_match('"/$"', $string);
preg_match('@/[email protected]', $string);
preg_match('{/$}', $string);
Но если вы используете /
, вы будете иметь, чтобы избежать каких-либо /
в регулярном выражении, как так:
preg_match('/\/$/', $string); # Either use a backslash
preg_match('/[/]$/', $string); # Or wrap it around square brackets
или даже что-то, как странно, как это:
preg_match('\'/$\'', $string);
Использование этого, скорее всего, путают люди, читающие ваш код и регулярное выражение, могут считаться достаточно запутанными!
Заключение У вас есть широкий выбор разделителей на выбор, но предпочтительнее, если вы последовательны и старайтесь не вводить ваш код в заблуждение.
См. [Doc. –