먼저 정규 표현식을 실험하지는 않는다고 고백합니다. 나는 그것을 사용하는 방법을 압니다. 그러나 내가 그것을 만들고 싶을 때, 그것은 다른 것입니다 ... 나는 문서화 할 것입니다.SQL을 추출 할 정규 표현식 where
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))
나는 'where'와 'order by'또는 'limit'또는 'group by'사이의 모든 것을 얻고 싶었습니다. ...
누구나 저에게 조언이 있습니까? 나는 약간 수색을하고 이것 같이 아무것도를 찾아 내지 않는다. SQL Parser를 찾았지만 이러한 엔진은 완료하려는 작업에 비해 너무 큽니다.
감사합니다.
일반적인 방법을 잘 모르지만 하나 이상의 where 절에주의해야합니다. 하위 쿼리에? – Paddy
비슷한 문제가있어서 가장 가까운 곳은 (? :^| \)) (? : [^ \ (\)] + (?: \ s +) (. *?) (? : 그룹 별 | $) –