Примечание: Существует проблема при использовании \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", с)
вывод: ['56789', '01234']
\ D не может обрабатывать запятую или любые непрерывно вводимые цифры.
\ b важная часть, здесь она соответствует пустой строке, но только в конце или начале слова.
Дополнительная документация: https://docs.python.org/2/library/re.html
Больше разъяснений по использованию \D
против \b
:
В этом примере используется \D
, но он не фиксирует все пять цифр.
В этом примере использует \b
при захвате всех пяти цифр.
Приветствия