oracle 正则表达式,特殊字符替换问题

chenzhengcan 2010-05-04 10:26:00
1、功能替换掉[内容],这样的内容。
2、替换掉[]保留"内容".

Select REGEXP_REPLACE('[TEST]', '(\[)(\w*)(\])', '') from dual; ---这个oK
Select REGEXP_REPLACE('[TEST *< ]', '(\[)(\w*)(\])', '') from dual;---特殊字符就不行

Select REGEXP_REPLACE('[AND PP.INTEGRAL>=NVL(#CON_PARAM#,0)]', '(\[)(\w*)(\])', '') from dual;



急,请高手指教
...全文
1422 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangren 2010-05-04
  • 打赏
  • 举报
回复
楼上正解,关键是oracle正则任意字符串的表达:(.*)
其中 . 是匹配除换行符之外的任意单字符,* 表示0~n个字符
codearts 2010-05-04
  • 打赏
  • 举报
回复
对于你的第2:

SQL> Select REGEXP_REPLACE('[TEST *< ]', '(\[)(.*)(\])', '\2') from dual;

REGEXP_REPLACE('[TEST*<]','(\[
------------------------------
TEST *<
codearts 2010-05-04
  • 打赏
  • 举报
回复
SQL> Select REGEXP_REPLACE('[TEST *< ]', '(\[).*(\])', '') from dual;

REGEXP_REPLACE('[TEST*<]','(\[
------------------------------

SQL>
SQL> Select REGEXP_REPLACE('[AND PP.INTEGRAL>=NVL(#CON_PARAM#,0)]', '(\[).*(\])', '') from dual;

REGEXP_REPLACE('[ANDPP.INTEGRA
------------------------------

SQL>

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧