Язык программирования Python.

Примеры шаблонов.

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

R"\b\w+\b".

Соответствует слову из букв и знаков подчеркивания.

R"[+-]?\d+".

Соответствует целому числу. Возможно, со знаком.

R"\([+-]?\d+\)".

Число, стоящее в скобках. Скобки используются в самих регулярных выражениях, поэтому они экранируются "\".

R"[a–cA–C]{2}".

Соответствует строке из двух букв « a», « b» или « c». Например, « Ac», « CC», « bc».

R"aa|bb|cc|AA|BB|CC".

Строка из двух одинаковых букв.

R"([a–cA–C])\1".

Строка из двух одинаковых букв, но шаблон задан с использованием групп.

R"aa|bb".

Соответствует « aa» или « bb»

R"a(a|b)b".

Соответствует « aab» или « abb»

R"^(?:\d{8}|\d{4}):\s*(.*)$".

Соответствует строке, которая начинается с набора из восьми или четырех цифр и двоеточия. Все, что идет после двоеточия и после следующих за ним пробелов, выделяется в группу с номером 1, тогда как набор цифр в группу не выделен.

R"(\w+)=.*\b\1\b".

Слова слева и справа от знака равенства присутствуют. Операнд "\1" соответствует группе с номером 1, выделенной с помощью скобок.

R"(?P<var>\w+)=.*\b(?P=var)\b".

То же самое, но теперь используется именованная группа var.

R"\bregular(?=\s+expression)".

Соответствует слову « regular» только в том случае, если за ним после пробелов следует « expression»

R"(?<=regular )expression".

Соответствует слову « expression», перед которым стоит « regular»и один пробел.

Следует заметить, что примеры со взглядом назад могут сильно влиять на производительность, поэтому их не стоит использовать без особой необходимости.