Страницы

Поиск по вопросам

воскресенье, 21 октября 2018 г.

Регулярное выражение. Как найти числа между пробелами без самих пробелов?

Как найти все числа от 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']

Комментариев нет:

Отправить комментарий