получать последовательные цифры регулярного выражения - PullRequest
1 голос
/ 20 сентября 2019
import re
s = 'words here and a num 1311374/104813603 and 2302374/544863603 and 0100374/104563603'

У меня есть следующая строка, и я хочу извлечь 7 последовательных цифр, после которых следует /, а затем 9 последовательных цифр, например 1311374/104813603.Для этого я попробовал следующее

reg = r'(?:^|(?<=\s))\d{7,9}(?=\s|$)'
r1 = re.findall(reg,s)

Но это дает мне пустую [].Как настроить мой reg для получения желаемого результата?

желаемый результат

['1311374/104813603', '2302374/544863603', '0100374/104563603']

1 Ответ

1 голос
/ 20 сентября 2019

Я хочу извлечь 7 последовательных цифр, затем / и затем 9 последовательных цифр

Я думаю, вы слишком усложняете это.Вы можете просто использовать:

\b\d{7}/\d{9}\b

RegEx Demo

Код:

>>> import re
>>> s = 'words here and a num 1311374/104813603 and 2302374/544863603 and 0100374/104563603'
>>> print (re.findall(r'\b\d{7}/\d{9}\b', s))
['1311374/104813603', '2302374/544863603', '0100374/104563603']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...