Группы захвата регулярных выражений в Oracle PL / SQL - PullRequest
0 голосов
/ 23 октября 2009

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

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

1 Ответ

1 голос
/ 23 октября 2009

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

См. Примеры в документах Oracle для REGEXP_REPLACE и в этой статье по адресу Обычные выражения.info .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...