Я пытаюсь разобрать некоторый вывод dig (да, я знаю о dnspython, но это не удовлетворяет моим требованиям) и возникли проблемы с поиском соответствующего регулярного выражения для моей usecase. Я пытаюсь найти все строки из вывода роют IN и NS в них, и пример вывода выглядит следующим образом:python regex не соответствует dig output
stackexchange.com. 300 IN NS ns1.serverfault.com.
stackexchange.com. 300 IN NS ns2.serverfault.com.
я попробовал:
if 'NS' in line:
, и я нашел несколько соответствующих строк , к сожалению, у меня есть некоторые ложные срабатывания для записей DNS NSEC, например:
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q5NFFJS5FUB0F2DNA098SBN0O663V NS SOA RRSIG DNSKEY NSEC3PARAM
также отображается на моем выходе. Я знаю об ошибке \s
, который должен соответствовать любому пробелу и вкладке, как бы мое регулярное выражение не срабатывало. В настоящее время у меня есть
for line in output:
regex = re.compile(r'IN\sNS\s')
if regex.match(line):
print(line)
Но он не работает. вы можете помочь мне придумать регулярное выражение, которое не создает ложных срабатываний? Приветствуется всякая помощь. Заранее спасибо
Спасибо! Это сработало отлично. Я отмечу это как ответ в 10mins, так как SO не позволяет мне отмечать его, как еще ответили. – Momo