регулярное выражение для 4 или 6 значного pin кода
def validate_pin(pin):
if re.search('^\d{4}$|^\d{6}$', pin):
return True
else:
return False
требуется чтоб выражение не находило "граничные" случаи например 098765' также '5862
upd: требуется найти исключительно 4 или 6 цифр и ничего кроме этого
Ответы (1 шт):
Автор решения: becouse
→ Ссылка
Вот такое регулярное выражение работает
^([0-9]{4})$|^([0-9]{6})$
Пример кода
import re
regex = r"^([0-9]{4})$|^([0-9]{6})$"
test_str = ("012345\n"
"1234\n"
"'1234\n"
"j3322\n"
"2333'")
matches = re.finditer(regex, test_str, re.MULTILINE)