Регулярное выражение для обнаружения имен таблиц в коде оракула - PullRequest
0 голосов
/ 30 мая 2018

Я хотел бы определить, какие таблицы используются для получения данных в коде процедуры и функции в Oracle.

... from <tablename>;
... from <tablename> <alias>;
... from <tablename> <alias> where ...;
... from <tablename> <alias> (, <tablename> <alias>)* where ...
... from <tablename> <alias> (<join> <tablename> <alias> on <onclause>)* where ...

Это некоторые из возможных конструкций.

Я хотел быиспользовать модуль 're' в Python.Любое понимание того, как я могу достичь этого?

Это то, что я придумал до сих пор:

[(procedure.split()[0], re.findall('FROM \w+ \w* [WHERE|,|;]*', procedure, flags=re.IGNORECASE)) for procedure in procedures]

...