Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex IN和NOT IN运算符的正则表达式_Regex - Fatal编程技术网

Regex IN和NOT IN运算符的正则表达式

Regex IN和NOT IN运算符的正则表达式,regex,Regex,我有像这样的过滤器字符串 "(empID = 10) AND (age IN ('10', '12', '2')) OR name NOT IN ( 'eq', 'test') AND (name='Gorge')" 我只想将(“中的”替换为[”中的,因此我的最终字符串过滤器字符串如下所示 "(empID = 10) AND (age IN ['10', '12', '2']) OR name NOT IN [ 'eq', 'test'] AND (name='Gorge')" 任何人都可以

我有像这样的过滤器字符串

"(empID = 10) AND (age IN ('10', '12', '2')) OR name NOT IN ( 'eq', 'test') AND (name='Gorge')"
我只想将(“中的
”替换为[”
中的
,因此我的最终字符串过滤器字符串如下所示

"(empID = 10) AND (age IN ['10', '12', '2']) OR name NOT IN [ 'eq', 'test'] AND (name='Gorge')"

任何人都可以帮我找到上面过滤器字符串的正则表达式。

对于简单的情况,您可以尝试以下方法:

(IN\s+)\((.*?)\)
(将匹配项替换为
$1[$2]

演示:


但通常不使用正则表达式来解析SQL(片段)考虑使用一个完整的解析器。

这与正则表达式有什么关系?如果你想用正则表达式解析一个字符串,那么至少给出一些正则表达式应该匹配或不匹配的例子。不要用正则表达式解析MySQL,使用一个专用的解析器,或者至少是一个上下文无关文法的解析器。