Начало тут
Когда впервые познакомился с шаблоном
?P<name> в регулярках, прочитал в сети старую переписку Гвидо с...Ага! С кем-то. Лично я запомнил его как Ларри Уолла, автора языка Perl. Но сейчас, при написании поста не смог найти ту самую древнюю переписку.
Если поделитесь ссылкой в комментариях, респект и уважуха. А пока будем считать это байкой старого айтишника. Садитесь поудобнее 😉
Когда Гвидо добавлял в язык Python регулярные выражения, он конечно же взял их из языка Perl. Почему?
Познавательная минутка 🤓
Perl был создан в 1987 году лингвистом Ларри Уоллом. И изначальная идея - язык для работы с текстом. А куда же тексту без регулярных выражений. Всё логично 🤓
Так вот, Гвидо захотел улучшить регулярки в Python. Он написал Ларри письмо, поинтересовался можно ли занять сочетание символов
?P (вопрос, заглавная P)? И Ларри сказал, что никаких планов на связку ?P у него нет.После официально разрешения Гвидо использовал связку для расширения регулярок, добавил
?P<name>. Теперь он мог обращаться к найденным группам по имени. А заодно и складывать полученные группы в словарь по ключам.Эта идея так понравилась, Ларри, что уже из Python перекочевала в Perl, а потом и в регулярные выражения как таковые.
Кстати, заглавная P в регулярке означает Python. Гвидо застолбил букву для своего языка. Вдруг регулярное выражение не прижилось бы.
Как показывает история,
?P<name> очень прижилось. И оно шикарно облегчает жизнь превращая объемный текст в словарь нужных данных. Спасибо, Гвидо 🖖