假设以下SQL命令:
update [TABLE] set [value] = 'UserName' where key1 = :param1 and key2 = :param2
我想提取:param1
并:param2
从SQL中提取。因此,我正在使用以下正则表达式来匹配SQL字符串:
:([\w.$]+|"[^"]+"|'[^']+')
除SQL字符串在引号(“)或单引号(')之间包含冒号(:)之外,此方法工作正常。
例如,我希望正则表达式匹配器只返回我:param1
,:param2
也返回以下查询:
update [TABLE] set [value] = ':UserName' where key1 = :param1 and key2 = :param2
update [TABLE] set [value] = 'User=:UserName' where key1 = :param1 and key2 = :param2
update [TABLE] set [value] = '2015-04-26 21:59:24' where key1 = :param1 and key2 = :param2
因为值:UserName,User =:UserName和2015-04-26 21:59:24在单引号之间...
我试图修改正则表达式,但是似乎没有任何效果。我应该怎么办?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句