Если ваш язык регулярных выражений Perl-совместимый: \d{15}
.
Трудно сказать, как обрабатывать края (чтобы вы случайно не захватили дополнительные цифры), не зная внешнего контекста, в котором этот фрагмент будет использоваться. Окончательное контекстно-независимое решение заключается в следующем:
(?:(?<!\d)\d{15}(?!\d))
Вы можете поместить это в середине любого регулярного выражения, и он будет соответствовать (и только матчу) последовательность ровно 15 цифр. Это, однако, довольно неудобно и обычно не нужно. Более простой вариант, который предполагает не буквенно-цифровые границы (например, пробелы вокруг цифр) заключается в следующем:
(?:\b\d{15}\b)
Но это не будет работать, если буквы непосредственно перед или после последовательности.
В обоих случаях наружные (?:
... )
- это всего лишь конструкция брекетинга, чтобы избежать проблем с приоритетом с окружающим регулярным выражением. Требуется ли это также зависит от контекста.
Использование встроенной библиотеки регулярных выражений python. – MrGlass
Тогда это сработает. –