Объединить регулярные выражения

Рейтинг: 0Ответов: 2Опубликовано: 22.02.2023

Составил регулярное выражение

[Гг]енеральный.[Дд]иректор.+|^[Дд]иректор[\s\S].+|Директор .+([А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)?)

Оно собирает ФИО директора в документе.

Пример:

Генеральный директор    

Васил Василий Васильевич

Директор Васил Василий Васильевич

Оно выбирает полностью все, а мне надо только ФИО. Помогите решить. regex101

Например: ООО «Магазин «Радуга» 

Адрес: 99999 г. Москва Тверской области ул. Октября д 13 а. ИНН 99939999996 КПП 6999999 ОГРН 999999999999 Расчетный счет 999999999999999 Московское Отделение № 9999 ООО Сбербанк г. Москва БИК 99999999 Корсчет 9999999999999 КОДЫ : ОООО 99999999 ОКОНХ 99999 т/факс 8(99999) 9-99-99 директор на основании устава: Валис Василий Васильевич зам. Директора Андре Андрей Андреевич глав. бух. : Вад Вадим Вадимович эл.адрес авыпп2045@yandex.ru

Ответы

▲ 0Принят

?: - не составляет группу, (?:[Гг]енеральный.[Дд]иректор.+|^[Дд]иректор[\s\S].+|Директор .+)([А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)?)

▲ 0

мне надо только ФИО

Предложу такой вариант. Реализация на JS.

const txt = `Адрес: 99999 г. Москва Тверской области ул. Октября д 13 а. ИНН 99939999996 КПП 6999999 ОГРН 999999999999 Расчетный счет 999999999999999 Московское Отделение № 9999 ООО Сбербанк г. Москва БИК 99999999 Корсчет 9999999999999 КОДЫ : ОООО 99999999 ОКОНХ 99999 т/факс 8(99999) 9-99-99 директор на основании устава: Валис Василий Васильевич зам. Директора Андре Андрей Андреевич глав. бух. : Вад Вадим Вадимович эл.адрес авыпп2045@yandex.ru`
const re =/([А-Я][а-я]+\s?){3}/
const a = txt.match(re)[0]
console.log(a)