正则表达式从SQL查询中选择列名
我有一个从SQL查询中选择列的regexp:正则表达式从SQL查询中选择列名,sql,regex,character,Sql,Regex,Character,我有一个从SQL查询中选择列的regexp:\bwf\.[^,| ^\s | ^)]* 因此,从两个查询 SELECT (wf.Name, wf.Status) SELECT wf.Name, wf.Status 它将返回“wf.Name”、“wf.Status”。但我还想讨论一下列包含圆括号时的情况: SELECT (wf.Name, wf.Status()) regexp应该返回“wf.Name”、“wf.Status()” 我试图通过非捕获组(?:(?!\
\bwf\.[^,| ^\s | ^)]*
因此,从两个查询
SELECT (wf.Name,
wf.Status)
SELECT wf.Name, wf.Status
它将返回“wf.Name”、“wf.Status”。但我还想讨论一下列包含圆括号时的情况:
SELECT (wf.Name,
wf.Status())
regexp应该返回“wf.Name”、“wf.Status()”
我试图通过非捕获组(?:(?!\s |,|))*
来完成,但没有成功。您可以使用
\bwf(?:\.\w+)+(?:\(\))?
看。详情:
-单词边界\b
-一个wf
字符串wf
-一个或多个重复的(?:\。\w++)
和一个或多个单词字符
-子字符串的可选出现形式(?:\(\)?