不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

Q:oracle通过正则表达式替换对应值

Posted on 2024-03-07 11:04  三年三班王小朋  阅读(77)  评论(0)    收藏  举报

示例

http://192.168.1.1:8888/a.html中的192.168.1.1:8888/替换成172.32.32.1:9999/

SELECT replace('http://192.168.1.1:8888/a.html',regexp_substr('192.168.1.1:8888/','([0-9]{1,3}.){3}[0-9]{1,3}.[0-9]{0,5}/'),'172.32.32.1:9999/') from dual;

 

函数用法

REPLACE(source_string, search_string, replacement_string)
参数说明:
  • source_string:需要被替换的原始字符串。
  • search_string:需要被替换的部分字符串。
  • replacement_string:用于替换的字符串。

函数返回值为替换后的结果字符串。

 

regexp_like(search_string ,pattern[,match_option])
参数说明:

  • search_string:是搜索值
  • pattern:正则表达式元字符构成的匹配模式,长度限制在512字节内
  • match_option:是一个文本串,允许用户设置该函数的匹配行为。可以使用的选项有:
  • c :大小写敏感,默认值
  • i :大小写不敏感
  • n :允许使用原点(.)匹配任何新增字符
  • m :允许将源字符作为多个字符串对待


regexp_substr(x,pattern[,start[,occurrence[match_option]]])
参数说明:

  • x:待匹配的字符串
  • pattern: 正则表达式元字符构成的匹配模式
  • start: 开始匹配位置,如果不指定默认为1
  • occurrence: 匹配的次数,如果不指定,默认为1--匹配全部
  • match_option: 意义同regexp_like的一样

*/