我正在尝试验证SQL文件(更具体地说是PostgreSQL)。要求之一是检查文件是否使用正确的数据库和正确的架构。我的策略是找出可能包含这些参数的行(例如create table
,drop table
,drop table if exists
,from
,left join
和其他joins
)然后将正则表达式应用于这些行。到目前为止,我已经提出了以下正则表达式,但是它不起作用:
import re
re.findall(r'\w+.\w+.\w+`, 'create table db.schema.name as select 1;')
返回
['create table db', 'schema.name as', 'select 1']
我想得到的解决方案大致是:
'db.schema.name`