Примечание. Существует проблема с использованием \D
, поскольку \D
соответствует любому символу, который не является цифрой, вместо этого используйте \b
. \b
важен здесь, потому что он соответствует границе слова, но только в конце или в начале слова.
import re
input = "four digits 1234 five digits 56789 six digits 01234,56789,01234"
re.findall(r"\b\d{5}\b", input)
result : ['56789', '01234', '56789', '01234']
, но если вы используете re.findall (r "\ D (\ d {5}) \ D", s) вывод: ['56789', '01234'] \ D не может для обработки запятой или любых введенных цифр.
\ b является важной частью здесь, она соответствует пустой строке, но только в конце или в начале слова.
Дополнительная документация: https://docs.python.org/2/library/re.html
Подробнее Разъяснение использования \D
vs \b
:
В этом примере используется \D
, но он не фиксирует все пять цифр.
В этом примере использует \b
при захвате всех пятизначных цифр.
Приветствия