Вопрос

Я пытаюсь превратить текст произвольной формы в нечто более структурированное. У меня есть сложный шаблон, который соответствует подавляющему большинству (значительно превышающему минимально допустимый предел) доступных данных, и я хотел бы использовать его, чтобы помочь структурировать данные, а не анализировать текст за символом. Проблема, с которой я только что столкнулся, заключается в том, что Oracle, похоже, не имеет никакого способа обработки групп захвата (разве я как-то пропустил это?).

Например, в моем выражении довольно много именованных групп захвата, таких как ((?<runit_ID>\d+)-) и (STAT_N|STTN|STAT|STN) ?(?<STAT>\w+). Кодовая база написана полностью на PL / SQL, поэтому я не могу использовать C # или что-то еще для ссылки на группы захвата по имени. Как люди обходят это в PL / SQL?

Это было полезно?

Решение

Если вы используете Oracle 10g или выше, вы можете использовать REGEXP_REPLACE с обратными ссылками.

См. примеры в документах Oracle для REGEXP_REPLACE , а также в этой статье по адресу регулярно-expressions.info .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top