#регулярные_выражения #php
В книге Д. Котерова есть глава "карманы регулярок", но слабо понимаю, что это. Может мини лекцию кто-то проведет или ссылки, или книги, где это описано. Может это имеет другое название?
Ответы
Ответ 1
Вкратце: preg_match('/([abc]+)([0-9]+)(?:[a-z0-9]+)/',,); Почти все, что между // заключено в круглые скобки будет запомнено в специальных временных переменных. Странное название "карманы" слышу первый раз, но да ладно. /..../ соответствует нулевому карману. То есть все, что совпало с полным выражением, попадет в переменную $0. ([abc]+) - это первый карман. ([0-9]+) - второй. (?:[a-z0-9]+) - вообще никакой, так как слово ?: говорит о том, что данную группировку запоминать не надо. Чтобы подробнее это понять, составьте сложную регулярку, сделайте preg_match_all по длинному тексту, а потом результат распечатайте с помощью print_r.
Комментариев нет:
Отправить комментарий