* 演算子はデフォルトで「貪欲」です
. distinct の間の任意の文字を許可しています および ) 、任意の量で。最初の ) を含む
EatÅPeach が提案したように、? で非貪欲にすることができます。 :
ここでは、.*? を使用します。 .* の代わりに :
select regexp_substr( 'select count(distinct empno), count(distinct deptno) from emp', 'count\(distinct.*?\)') from dual;プレ>または、
)以外の任意の文字を指定することもできます[^)]*で.*の代わりに .select regexp_substr( 'select count(distinct empno), count(distinct deptno) from emp', 'count\(distinct[^)]*\)') from dual;プレ>