脱字符(^)放在方括号([])外面表示匹配以方括号([])里面的任何字符开头的字符串;
脱字符(^)放在方括号([])里面表示匹配包含有任何不在方括号([])里面的字符的字符串。
SQL> select 1 x from dual where regexp_like('0a','^[0-9]');
X
----------
1
SQL> select 1 x from dual where regexp_like('1a','^[0-9]');
X
----------
1
SQL> select 1 x from dual where regexp_like('a0','^[0-9]');
X
----------
SQL>
'^[0-9]'匹配以数字开头的。
-----------------------------------------------------------------
SQL> select 1 x from dual where regexp_like('111','[^0-9]');
X
----------
SQL> select 1 x from dual where regexp_like('1a11','[^0-9]');
X
----------
1
SQL> select 1 x from dual where regexp_like('111a','[^0-9]');
X
----------
1
SQL>
'[^0-9]'匹配包含有不是数字的。
[0-9]等价于[:digit:]