求教一个正则表达式的写法
Oracle里面如何用正则表达式REGEXP_REPLACE,将如下的字符串方括号中的部分进行替换:
如:
公式表EXP
   [TP]-[ALP]
   [SD]-[FD]-[SD]*2 
   [PSA]/[FPA]  代码表code序号  代码    值
1     TP    3
2     ALP   2
3     SD    1 
4     FD    3.5
5     PSA   4.5 
6     FPA   3替换后的结果应该为
公式
3-2 
1-3.5-1*2
4.5/3研究正则表达式一阵感觉不得要领,半天弄不出来 ,请各位大虾赐教

解决方案 »

  1.   

    直接replace('[TP]',3)不就行了么?不解
      

  2.   

    那你需要写多少relpace, 正则表达式是要对模式进行匹配,REGEXP_REPLACE函数的目的就是需要将方括号中的取出来进行替换,这些代码和值都是动态的
      

  3.   

    这个用正则来替换很有难度,想不出方案
    用存储过程来做就简单多了
    sql的话,有个类似的帖子
    http://topic.csdn.net/u/20091017/16/B521975A-6865-4D26-B2F2-F74C4BB07EB5.html