dmlogv
@dmlogv
Универсальный человек

Как адекватно распарсить SQL с помощью RegEx?

Доброй ночи.

Имеется пачка неких SQL-INSERT'ов из которых методом научного парсинга необходимо вычленить следующее:
  • Имена таблиц, куда инсёртятся данные (простите за японский), включая OPENQUERY,
  • Откуда данные засасываются для инсёртов. Включая те же OPENQUERY плюс подзапросы, JOIN (включая кросс-соединения через запятую, вплоть до таблиц).

Все выражения — однострочные, без лишних пробелов, табов, комментариев. В парсер поступают по одному.

Вот здесь: regex101.com/r/iS2fK9/1 моя копрокодистая реализация, но задумка должна быть ясна + пример запроса.

Все бы в «реализации» хорошо, да только затягивает она либо первый FROM с его таблицей, либо последний (JOIN) — если использую жадную квантификацию.

Есть ли способы это победить? Или я, может, вообще не теми средствами взялся за проблему?
  • Вопрос задан
  • 805 просмотров
Пригласить эксперта
Ответы на вопрос 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
распарсить SQL с помощью RegEx

Никак.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект