Я хочу сопоставить строки, начинающиеся с определенной строки (в данном примере «interface»), если в следующих строках с отступом есть другой определенный текст (здесь «доступ в режиме switchport»).
Пример данных:
interface GigabitEthernet1/0/1
description abc
bla
switchport mode access
xyz
abc
interface GigabitEthernet1/0/2
interface GigabitEthernet1/0/3
xyz
abc
interface GigabitEthernet1/0/4
description Test
switchport mode access
xyz
abc
interface GigabitEthernet1/0/5
description
Должно совпадать:
interface GigabitEthernet1/0/1
interface GigabitEthernet1/0/4
Я пытался:
interface GigabitEthernet1\/0\/[0-9](?=(\n|.)*switchport mode access)
Но это проверяет все строки под интерфейсом, поэтому он совпадает:
interface GigabitEthernet1/0/1
interface GigabitEthernet1/0/2
interface GigabitEthernet1/0/3
interface GigabitEthernet1/0/4
Как сделать так, чтобы lookahead работал только до тех пор, пока не появится строка, которая не начинается с пробела?