Как найти все числа от 5 до 10 знаков включительно, которые находятся между пробелами или концом/началом строки? Нужно найти именно числа, без пробелов.
Например:
181523539532037 52844 072 301 - должно найти только 52844
BIC 55555 77777 9999999 554664 - должно найти 55555 77777 9999999 554664
123456 - если в строке нет ничего, кроме 123456, то найти должно 123456
Я не силён в регулярных выражениях, попробовал \D\d{5,10}\D, но, во-первых, оно включает сами пробелы, во-вторых, если между двумя числами только один пробел - не находит второе число
Ответ
Используйте следующее выражение в методе re.findall
r'(?См. демо регулярного выражения
Подробности
(?Код на Python:
import re
texts = ['181523539532037 52844 072 301', 'BIC 55555 77777 9999999 554664', '123456']
for text in texts:
print('Ищем в {}'.format(text))
print(re.findall(r'(?Вывод:
Ищем в 181523539532037 52844 072 301
['52844']
Ищем в BIC 55555 77777 9999999 554664
['55555', '77777', '9999999', '554664']
Ищем в 123456
['123456']
Комментариев нет:
Отправить комментарий