Регулярное выражение для вложенности 2 уровня

181
13 сентября 2018, 05:10

Есть адрес типа /catalog/cat1/cat2/, притом, cat1 и cat2 могут быть любыми. Нужно регулярное выражение для функции preg_match, пропускающее все подобные адреса: начинающиеся с catalog и имеющие вложенность до 2 уровня.

/\/catalog\/\/\w+\/\w+\//i

Это выражение не работает.

Answer 1

Нужно регулярное выражение для функции preg_match, пропускающее все подобные адреса: начинающиеся с catalog и имеющие вложенность до 2 уровня

Попробуйте такой вариант:

$str = '/catalog/cat1/cat2/';
preg_match('~catalog/(?:[\pL\d-]+/){2}$~', $str, $arr);
var_dump($arr);
READ ALSO
Почему пишут STL библиотека С++, а используем `std`?

Почему пишут STL библиотека С++, а используем `std`?

Везде пишут: Использования STL функций

211
Нейросеть для рисования [закрыт]

Нейросеть для рисования [закрыт]

Как делаются нейросети для рисования изображений?

181