Ограничить количество строк поиска

Есть такая регулярка, которая находит полисер, проблема в том, что она находит полисер в другом unit. Вот в примере она найдет 100m из следующего unit. А если его нет, то нужно что бы ничего не находила. Нужно как то ограничить количество строк поиска между unit и полисером. например максимум искать в 14-ти строках. Чтоб не лезла в другой unit. Подскажите пожалуйста как это сделать?

xx = re.findall(r'ae13 .*?unit 35.*?output.*?lim(.+?);', ss, flags=re.S)

  ae13 {
        apply-groups arp-police;
        description "<< (EX8216) >>";
        flexible-vlan-tagging;
        mtu 9100;
        encapsulation flexible-ethernet-services;
        aggregated-ether-options {
            lacp {
                active;
            }
        }
        unit 35 {
            apply-groups-except arp-police;
            description "## test L2VPN ##";
            encapsulation vlan-ccc;
            vlan-id 35;
            family ccc {
                filter {
                    input l2vpn_BP;
                }
                policer {
                    input lim30m;
                }
            }
        }
        unit 77 {
            apply-groups-except arp-police;
            encapsulation vlan-ccc;
            vlan-id 77;
            input-vlan-map pop;
            output-vlan-map push;
            family ccc {
                filter {
                    input l2vpn-cos-normal;
                }
                policer {
                    input lim100m;
                    output lim100m;
                }
            }
        }```

Ответы (1 шт):

Автор решения: alex-cherenkov
xxx1 = re.findall(r''+r+' .*?unit '+u+' .{500}', ss, flags=re.S)    

xxx = re.findall(r''+r+' .*?unit '+u+'.*?output.*?lim(.+?);', xxx1[0], flags=re.S)

так выкрутился. в первом проходе цепляем +500 символов и далее еще раз. вот и получается ограничение.

→ Ссылка