Ответ, предоставленный ApproachingDarknessFi sh, является правильным, если вы пытаетесь сопоставить всю строку ввода, которая следует «описанию», как указано. Тем не менее, вы делаете findall
, что настоятельно рекомендует вам искать несколько вхождений ^ description (.*)$
, и поэтому вы подразумеваете, что якоря ^
и $
представляют начало и конец строк , а не начало и конец всей строки. Если это так, то вы не хотите использовать флаг re.DOTALL
, а флаг re.M
:
import re
str = ''' description TESTE ONE Gi0/0/0
ip vrf forwarding test
ip address xxx.xxx.xxx.xxx
ip flow monitor fnf input
ip flow monitor fnf output
negotiation auto
cdp enable
description another one thrown in for good measure!
'''
print(re.findall(r'^ description (.*)$', str, re.M))
Отпечатки:
['TESTE ONE Gi0/0/0', 'another one thrown in for good measure!']