Необходима помощь начинающего PHP

Я уже некоторое время изучаю PHP, и мне нужно разъяснение.

Я видел preg_match названную с различными разделительными символами, такими как:

 preg_match('/.../') 

а также

 preg_match('#...#') 

Сегодня я также видел % используемых.

Мой вопрос состоит из двух частей:

Какие все символы могут быть использованы?

И есть ли стандарт?

Любые

  • не алфавитно-цифровой
  • не-пробелы и
  • символ ASCII без обратного слеша

может использоваться как разделитель.

Также, если вы используете открывающие знаки препинания в качестве разделителя открывания:

 ( { [ < 

то их соответствующие символы препинания должны использоваться в качестве закрывающего разделителя:

 ) } ] > 

Наиболее распространенным разделителем является / .
Но иногда рекомендуется использовать другой разделитель, если / является частью регулярного выражения.

Пример:

 // check if a string is number/number format: if(preg_match(/^\d+\/\d+$/)) { // match } 

Поскольку в регулярном выражении содержится разделитель, вы должны выйти из разделителя, найденного в регулярном выражении.

Чтобы избежать экранирования, лучше выбрать другой разделитель, который отсутствует в регулярном выражении, так что ваше регулярное выражение будет короче и чище :

 if(preg_match(#^\d+/\d+$#))