我编写了一个 RegExp 来捕获 SQL (JDBC) 查询的所有参数和关联值。
我正在使用这个。
(?:\S+\s)?\S*"myOperatorHere\S*(?:\s\S+)?
这样我就可以捕获以下参数:Where c.value = 32
我可以得到c.value
和32
它适用于所有运营商,除了IN
我想抓where c.value IN (3,4,5,6)
但是有了这个表达式,我得到(3,
一个值而不是(3,4,5,6)
例如,如果我有查询:
SELECT C.NAME, C.FIRSTNAME FROM CUSTOMER C, PROSPECT P WHERE C.ID = 32 AND C.TRUC = 28 AND P.ID < 12 AND P.A IN (2, 3, 4)
我想得到C.ID = 32, C.TRUC = 28, P.ID < 12, P.A IN (2, 3, 4)
你能帮我解决这个问题吗?如果需要,我可以使用两个表达式。