最初に、私は正規表現で実際に実験されていないと告白します。私はそれをどのように使用するのか知っていますが、私が1つを構築したいときは、それは他のものです...私は私を文書化します。SQLを抽出する正規表現。
SQLクエリでWHERE句を抽出します。
SELECT * FROM myTbl WHERE columnA = 'B' AND columnB = 'C' ORDER BY columnX GROUP BY columnZ LIMIT 5
TO:私の目標は、このように、条件を追加することができることです、私はいくつかの表現を試みたが、私は無効だ
SELECT * FROM myTbl WHERE columnC = 'D' AND (columnA = 'B' AND columnB = 'C') ORDER BY columnX GROUP BY columnZ LIMIT 5
...
(where (.*)(?<=order by))
私は 'どこで'と( '注文'または '制限'または 'グループ化')の間にすべてを取得したい...
誰かが私のためのアドバイスをしていますか?私はいくつかの検索を行っており、このようなものは見つけられません。 SQL Parserが見つかりましたが、これらのエンジンは完了したいタスクに比べて大きすぎます。
ありがとうございます。
これは一般的な方法がわかりませんが、複数のwhere句に注意する必要がありますか。サブクエリで? – Paddy
私は同様の問題を抱えています。最も近いのは次の式です。 (?:^ | \))(?:[^ \(\)] +) :group by | order by | $) –