Regex слишком "жадный", как это исправить
необходимо из вывода подобно этому:
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:GE0/0/15(D) GE0/0/16(D) GE0/0/18(D) GE0/0/19(D)
GE0/0/21(D) XGE0/0/1(D) XGE0/0/2(D) XGE0/0/3(D)
XGE0/0/4(D)
TG:GE0/0/24(U)
3 common UT:GE0/0/14(U) GE0/0/22(U) GE0/0/24(U)
TG:XGE0/0/1(D) XGE0/0/2(D)
6 common UT:GE0/0/17(U) GE0/0/20(U)
TG:GE0/0/24(U) XGE0/0/1(D) XGE0/0/2(D)
12 common TG:GE0/0/24(U) XGE0/0/1(D) XGE0/0/2(D)
105 common TG:GE0/0/24(U) XGE0/0/1(D) XGE0/0/2(D)
107 common TG:GE0/0/24(U) XGE0/0/1(D) XGE0/0/2(D)
888 common UT:GE0/0/1(D) GE0/0/2(D) GE0/0/3(D) GE0/0/4(D)
GE0/0/5(D) GE0/0/6(D) GE0/0/7(D) GE0/0/8(D)
GE0/0/9(D) GE0/0/10(D) GE0/0/11(D) GE0/0/12(D)
GE0/0/13(D)
TG:GE0/0/24(U) XGE0/0/1(D) XGE0/0/2(D)
VID Status Property MAC-LRN Statistics Description
получить имена всех untagged интерфейсов 888 VLAN (все что между UT:и TG:) если я пишу:
r'^888\s+common\s+UT:(.+)(?=\([U|D]\)\s*).+TG:'
возвращаются все интерфейсы от первого до последнего если
r'^888\s+common\s+UT:(.*?)(?=\([U|D]\)\s*).+TG:'
то только первый GE0/0/1. как написать выражение чтобы вернуло все GE..... без (D)
Источник: Stack Overflow на русском