我有这样一个字符串:
select count(*) from infos where pk1 = 'Information' and (pk3 = 'USA' or pk3 = 'Afrika') and value_string = 'book';
这是一个SQL语句,我必须从给定的语句中找到pk1,pk3和value_string的值,因为它们可能因语句而异。 (在这个例子中,我想找到pk1的值,对于pk3s来说是'信息'它们是' Afrika' USA')
我的想法是使用(pk1|pk3|value_string)((\W)*|(\d)*)(\w)*
之类的正则表达式。
由于用户会输入一个声明,因此它可以采用不同的形式,因为" ... pk1 ='信息' "或" ... pk1 ='信息'"等等。
我对我的正则表达不太满意,听取其他建议会非常有帮助。
提前致谢
PS:sqlite3 sql