Объединить регулярные выражения
Составил регулярное выражение
[Гг]енеральный.[Дд]иректор.+|^[Дд]иректор[\s\S].+|Директор .+([А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)?)
Оно собирает ФИО директора в документе.
Пример:
Генеральный директор
Васил Василий Васильевич
Директор Васил Василий Васильевич
Оно выбирает полностью все, а мне надо только ФИО. Помогите решить. regex101
Например: ООО «Магазин «Радуга»
Адрес: 99999 г. Москва Тверской области ул. Октября д 13 а. ИНН 99939999996 КПП 6999999 ОГРН 999999999999 Расчетный счет 999999999999999 Московское Отделение № 9999 ООО Сбербанк г. Москва БИК 99999999 Корсчет 9999999999999 КОДЫ : ОООО 99999999 ОКОНХ 99999 т/факс 8(99999) 9-99-99 директор на основании устава: Валис Василий Васильевич зам. Директора Андре Андрей Андреевич глав. бух. : Вад Вадим Вадимович эл.адрес авыпп[email protected]
Ответы (2 шт):
мне надо только ФИО
Предложу такой вариант. Реализация на JS.
const txt = `Адрес: 99999 г. Москва Тверской области ул. Октября д 13 а. ИНН 99939999996 КПП 6999999 ОГРН 999999999999 Расчетный счет 999999999999999 Московское Отделение № 9999 ООО Сбербанк г. Москва БИК 99999999 Корсчет 9999999999999 КОДЫ : ОООО 99999999 ОКОНХ 99999 т/факс 8(99999) 9-99-99 директор на основании устава: Валис Василий Васильевич зам. Директора Андре Андрей Андреевич глав. бух. : Вад Вадим Вадимович эл.адрес авыпп[email protected]`
const re =/([А-Я][а-я]+\s?){3}/
const a = txt.match(re)[0]
console.log(a)
?: - не составляет группу,
(?:[Гг]енеральный.[Дд]иректор.+|^[Дд]иректор[\s\S].+|Директор .+)([А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)? [А-ЯЁ][а-яё]*(?:-[А-ЯЁ][а-яё]*)?)