在Oracle中使用正则表达式

我是先看的这篇教程Oracle Regular Expressions,里面的例子比较详尽,不过是11g版本的,需要注意以下事项:

1. REGEXP_COUNT, 10g版本里面没有
2. REGEXP_INSTR, Sub-Expression 10g版本里面没有
3. REGEXP_LIKE, 只能在where语句里面使用
4. 使用用来做转义字符

另外两篇文章,也值得参考

Using Regular Expressions in Database Applications

Oracle 10g 中的正规表达式

最后记录一个自己做的例子

目的:三.张 -> 张三

select regexp_replace(‘三.张’, ‘([^.]+).([^.]+)’, ’21′) result from dual;

Comments are closed.