*
operator 'serakah' secara default
. Anda mengizinkan karakter apa pun antara distinct
dan )
, dalam jumlah berapa pun. dan termasuk )
first pertama sendiri.
Seperti yang disarankan oleh EatÅPeach, Anda dapat membuatnya tidak serakah dengan ?
:
Jadi di sini, dengan .*?
bukannya .*
:
select regexp_substr(
'select count(distinct empno), count(distinct deptno) from emp',
'count\(distinct.*?\)')
from dual;
Atau Anda dapat menentukan karakter apa saja kecuali )
dengan [^)]*
bukannya .*
.
select regexp_substr(
'select count(distinct empno), count(distinct deptno) from emp',
'count\(distinct[^)]*\)')
from dual;