我真的想找到適用於Java的正則表達式匹配不一樣插入,更新,刪除程序等一些關鍵字之前的所有SELECT語句的查詢:正則表達式的SQL分析
在此刻,在得到這個:
^(?!insert|delete|update|procedure) {0,}select.*?;$ gims
但不相匹配的權利,如果在新行選擇開始:
測試用例:
select 1 from dual;
delete from table where id =
(
select 1 from dual
);
update table set id = 1 where id in (
select 1 from dual);
procedure dsdsd select fdsfds;
PROCEDURE myproc()
IS
BEGIN
SELECT
1 from dual;
END myproc ;
結果:僅匹配select 1 from dual;
這個環節有測試用例:
https://regex101.com/r/2wkbOk/1
很抱歉,但i'dont明白你(不同的SELECT語句)。可你舉一些例子是什麼意思? – jslsolucoes
你期待什麼輸出? –
只匹配從雙重選擇1; – jslsolucoes