Embora regexes e outros truques baseados em texto possam ser empregados, um analisador SQL adequado, como https://pypi.org /project/sqlparse/ é o caminho a seguir. Por exemplo:
import sqlparse
statements = sqlparse.parse(my_evil_sql)
for statement in statements:
if statement.get_type() != "SELECT":
raise Exception("Non-select statement encountered!")
Observe que
get_type()
ignora espaços em branco e comentários no início da instrução.