Я уже некоторое время изучаю PHP, и мне нужно разъяснение.
Я видел preg_match
названную с различными разделительными символами, такими как:
preg_match('/.../')
а также
preg_match('#...#')
Сегодня я также видел %
используемых.
Мой вопрос состоит из двух частей:
Какие все символы могут быть использованы?
И есть ли стандарт?
Любые
может использоваться как разделитель.
Также, если вы используете открывающие знаки препинания в качестве разделителя открывания:
( { [ <
то их соответствующие символы препинания должны использоваться в качестве закрывающего разделителя:
) } ] >
Наиболее распространенным разделителем является /
.
Но иногда рекомендуется использовать другой разделитель, если /
является частью регулярного выражения.
Пример:
// check if a string is number/number format: if(preg_match(/^\d+\/\d+$/)) { // match }
Поскольку в регулярном выражении содержится разделитель, вы должны выйти из разделителя, найденного в регулярном выражении.
Чтобы избежать экранирования, лучше выбрать другой разделитель, который отсутствует в регулярном выражении, так что ваше регулярное выражение будет короче и чище :
if(preg_match(#^\d+/\d+$#))