sql解析大小写正则表达式结束表达式preg_match_all
问题描述:
我尝试从oracle查询解析case-end表达式的内容。我使用下面的正则表达式。 /((?<=case)[\w\s:\=\'\".\,()\<>-]*(?=end)){1}?/gi
sql解析大小写正则表达式结束表达式preg_match_all
的SQL语句组成部分是: DECODE( SUM( CASE WHEN a.art_ind IN ('NORMAL', 'MVAR') THEN 1 ELSE 0 END ), 0, 1, SUM( CASE WHEN a.art_ind IN ('NORMAL', 'MVAR') THEN 1 ELSE 0 END ) ) )* 100, 2 ) store_av,
,但我得到错误的结果,它获得2个或更多的情况下,结束块。 请看下面。它需要2个案例结束而不是1个
有人可以提出解决方案吗?
答
((?<=case)[\w\s:\=\'\".\,()\<>-]*?(?=end)){1}?
^^
让您*
非greedy.See演示。