Выполнение поиска по регулярному выражению в строке запроса sql python 3.x - PullRequest
0 голосов
/ 23 февраля 2019

Я хотел бы выяснить, встречается ли select some_col_name, * , some_col_name from table_name в строке запроса, как в примере ниже:

select some_col_name, *, some_col_names
from table_name

или

select some_col_name, 
*, some_col_name
from 
table_name

Пока я могу толькосовпадение select some_col_names, * с использованием

re.search("select(\s*.*?)*\*", query_string)

Как мне найти желаемое выражение?Я хотел бы остановиться после сопоставления первого вхождения.

1 Ответ

0 голосов
/ 23 февраля 2019

Попробуйте это регулярное выражение:

select([^*](?!from))*\*([^*](?!from))* from[\s\r\n]*table_name

См. live demo .

Это будет соответствовать нескольким строкам, но из-за негативного взгляда, вперед не пропустятот select одного запроса до from следующего запроса.

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