Исключающее в регулярных выражениях

Чтобы выбрать один из вариантов в регулярном выражении используется символ | (прямая черта).

Внутри границы символьного класса она означает, что надо выбрать одно из указанных значений (поэтому его называют исключающим). Например:

$res = preg_replace('/[1|2|3]/', '', '1-2+3-23'); //$res: '-+-';

В данном случае можно прямую черту опустить, и результат не поменяется, т.к. поиск идет по одному символу:

$res = preg_replace('/[123]/', '', '1-2+3-23'); //$res: '-+-';

Данные паттерны можно прочитать так: искать 1 или 2 или 3.

Если же надо найти или 1, или 23, то необходимо использовать |:

$res = preg_replace('/1|23/', '', '1-2+3-23'); //$res: '-2+3-';

30.07.2019
Помимо "Исключающее в регулярных выражениях" вам может быть также интересно: