脱字符(^)放在方括号([])外面表示匹配以方括号([])里面的任何字符开头的字符串;
脱字符(^)放在方括号([])里面表示匹配包含有任何不在方括号([])里面的字符的字符串。
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:]
本文详细解析了SQL中正则表达式中脱字符^和方括号[]的用法,通过具体实例展示了如何使用它们来匹配特定类型的字符串,包括以数字开头的字符串和不包含特定字符的字符串。
1081

被折叠的 条评论
为什么被折叠?



