Поиск модуля Python Parse - PullRequest
0 голосов
/ 08 мая 2018

Использование модуля разбора python. Я ищу в строке. Выполняется поиск «числа AB», затем несколько пробелов, а затем число в формате 1-123456789.

т. Д. "AB Number 1-727288292920"

Если я использую это, он находит его, но разделяет на несколько совпадений: -

search('AB Number{:s}{:d}{:D}{:d}',plain_text_body)

Если я использую это, оно совпадает только с первой цифрой, и я не могу понять, почему оно не будет совпадать

search('AB Number{:s}{\d+\D\d+}',plain_text_body)

Также я думаю, что можно использовать регулярные выражения вне захваченного шаблона, но я не могу заставить это работать, например, - чтобы поймать несколько пробелов, должно быть: -

search('AB Number\s+{\d+\D\d+}',plain_text_body)

Но это не работает. Есть идеи?

1 Ответ

0 голосов
/ 08 мая 2018

Попробуй.

import re

pattern = r'^(AB Number).+(\d\-\d{1,})$'
text = 'AB Number sdf sfd  1-727288292920'

for m in re.match(pattern, text).groups(): 
    print(repr(m))

выход

... 
'AB Number'
'1-727288292920'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...