Номер телефона в произвольном формате:
Можем заменить строкой из метасимволов, называемой регулярным выражением
.
Регулярному выражению \d соответствует любая одиночная цифра от 0 до 9
\d\d или \d-\d или \d--\d
\d{2} или \d-\d или \d-{2}\d
import re
phone = re.compile(r'\d') # Возвращает объект Regex
m = phone.search('4') # Ищет совпадения с регулярными выражениями. Возвращает None или объект Match
m.group() # Возвращает найденное соответствие
phone = re.compile(r'\d-\d')
phone.search('4-4').group()
phone = re.compile(r'\d-\d')
phone.search('привет, 4-4!').group()
import re
r = re.compile(r'\d(-)?\d') # 0 или 1 символ
r.search('4-5').group()
r.search('45').group()
r.search('4=5').group()
r = re.compile(r'\d(-)*\d') # 0 или более символов
r.search('45').group()
r.search('4-5').group()
r.search('4--5').group()
r = re.compile(r'\d(-)+\d') # 1 или более символов
r.search('45').group()
r.search('4-5').group()
r = re.compile(r'\d(-){1,3}\d')
r.search('4--5').group()
# аналог:
re.search(r'\d(-){1,3}\d', '4--5').group()
r.search('4---5').group()
r.search('45').group()
re.compile(r'\d-\d').search('4-5 4-5 4-5').group()
re.findall(r'\d-\d', '4-5 4-5 4-5')