Всем привет.
Есть задача, вырезать со строки определенные словосочетания, только в том случае, если рядом с ними нет букв.
Сделал такой вот прегреплейс:
^((ТОВ)|(ООО)|(ДП)|(НПКП)|(ЗАО)|(ОАО)|(ЧП)|(СПД)|(ЧП)|(ФОП)|(ФЛП)|(ФЛ)|(НПП)|(МП)|(фирма)|(компания)|(частное предприятие)|(предприятие)|(ч\/п)|(OOO)|(интернет\-магазин)|(интернет)|(магазин)|(TM)|(ТМ))[^a-zа-яіґїєё]|[^a-zа-яіґїєё]((ТОВ)|(ООО)|(ДП)|(НПКП)|(ЗАО)|(ОАО)|(ЧП)|(СПД)|(ЧП)|(ФОП)|(ФЛП)|(ФЛ)|(НПП)|(МП)|(фирма)|(компания)|(частное предприятие)|(предприятие)|(ч\/п)|(OOO)|(интернет\-магазин)|(интернет)|(магазин)|(TM)|(ТМ))[^a-zа-яіґїєё]|[^a-zа-яіґїєё]((ТОВ)|(ООО)|(ДП)|(НПКП)|(ЗАО)|(ОАО)|(ЧП)|(СПД)|(ЧП)|(ФОП)|(ФЛП)|(ФЛ)|(НПП)|(МП)|(фирма)|(компания)|(частное предприятие)|(предприятие)|(ч\/п)|(OOO)|(интернет\-магазин)|(интернет)|(магазин)|(TM)|(ТМ))$
Глаз режет, аж до боли. Как это все дело можно было бы написать красивее? Ну и в случае добавления условий, его приходится добавлять сразу в трех местах, что тоже не совсем хорошо.
т.е. Товарищ Иванов А.А. должен остаться без изменений, а ТОВ Иванов А.А. должен стать просто Ивановым.