Регулярное выражение Cisco соответствует этому, но не этому

У меня есть следующая строка в гораздо большей конфигурации:

as-path-set DAVE-9999-CBG
as-path-set DAVE-9999-CBG
as-path-set DAVE-55555-CBG
as-path-set DAVE-44444-CBG
as-path-set DAVE-33333-CBG
as-path-set DAVE-11111-CBG
as-path-set DAVE-22222-CBG

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

as-path-set DAVE-55555-CBG
as-path-set DAVE-44444-CBG
as-path-set DAVE-33333-CBG
as-path-set DAVE-11111-CBG
as-path-set DAVE-22222-CBG

2 ответа

Вы можете использовать отрицательный взгляд:

^as-path-set DAVE-(?!9999)[0-9]+-CBG$

С отрицательным взглядом сзади и зная, что все ваши строки заканчиваются определенной строкой:

.*(?<![9]{4}-CBG)$

Живая демо

Другие вопросы по тегам