python_math_stat/docs/python/regular.md
2024-10-08 12:03:21 +03:00

2.3 KiB
Raw Blame History

Регулярные выражения

Источники:


Регулярка Её смысл
simple text Cell 2
\d\d/\d\d/\d{4} Даты в формате ДД/ММ/ГГГГ(и прочие куски, на них похожие, например, 98/76/5432)
\b\w{3}\b Слова в точности из трёх букв \b означает границу слова (с одной стороны буква, а с другой — нет) \w — любая буква, {3} — ровно три раза
[-+]?\d+ Целое число, например, 7, +17, -42, 0013 (возможны ведущие нули) [-+]? — либо -, либо +, либо пусто \d+ — последовательность из 1 или более цифр
[-+]?(?:\d+(?:.\d*)?.\d+)(?:[eE][-+]?\d+)? Действительное число, возможно в экспоненциальной записи Например, 0.2, +5.45, -.4, 6e23, -3.17E-14.

Примеры регулярных выражений

import re

txt = "sampleapp-ABCD-1234-us-eg-123456789"
x = re.findall("([ABCD]+[-][0-9]+)", txt)
print(x)
text = 'ул. Карпинского, дом № 20, корпус 3, квартира 98'
# нет групп захвата
match = re.findall(r'\d+', text)
print(match)
# ['20', '3', '98']
# одна группа захвата
match = re.findall(r'(?i)([а-я]+)', text)
print(match)
# ['ул', 'Карпинского', 'дом', 'корпус', 'квартира']
# несколько групп захвата
print(re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10'))
# [('width', '20'), ('height', '10')] 

alt text alt text