regexp_replace】的更多相关文章

REGEXP_SUBSTR函数格式如下: function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)__srcstr     :需要进行正则处理的字符串__pattern    :进行匹配的正则表达式__position   :起始位置,从第几个字符开始正则表达式匹配(默认为1)__occurrence :标识第几个匹配组,默认为1__modifier   :模式('i'不区分大小写进行检索:'c'区分大小写进行…
原文在这: 戳 REGEXP_REPLACE 6个参数 第一个是输入的字符串 第二个是正则表达式 第三个是替换的字符 第四个是标识从第几个字符开始正则表达式匹配.(默认为1) 第五个是标识第几个匹配组.(默认为全部都替换掉) 第六个是是取值范围: i:大小写不敏感: c:大小写敏感: n:点号 . 不匹配换行符号: m:多行模式: x:扩展模式,忽略正则表达式中的空白字符. 全部测试数据 SQL> select * from test_reg_substr; A ----------------…
Oracle正则表达式函数:regexp_like.regexp_substr.regexp_instr.regexp_replace   --去掉所有特殊字符,只剩字母  SELECT REGEXP_REPLACE('(Sam-Tomats123-=,.231+)','[^[:alpha:]]','') FROM dual;    Sql代码   Oracle使用正则表达式离不开这4个函数:      1.regexp_like      2.regexp_substr      3.rege…
这题又是考正则表达式,我们先根据题意,操作如下: hr@OCM> col "PHONE NUMBER" for a50 hr@OCM> SELECT phone_number,REGEXP_REPLACE(phone_number,'([[:digit:]]{3})\.([[:digit:]]{3})\.([[:digit:]]{4})','(\1) \2-\3') "PHONE NUMBER" 2 FROM employees; PHONE_NUMBE…
背景 当初写oracle的一个存储过程,以前不知道sql里也有正则表达式,关于正则表达式教程很多了,这里只是记录下Oracle也有这个功能,下次再有类似需求用这个处理的确方便很多. 想起存储过程,就想起刚干软件的时候,一个同事说,见过一个高手,全写的都是存储过程,网页都是用它.现在想想,真是好笑啊,但在那个时候,都没见过存储过程,从此在脑海里落下了写存储过程的都是高手的印象,也从此因为几次机会努力学习存储过程,也变成了所谓的高手. 想起这个段子,想到那个同事,然后想到那个环境.那是一个小公司,都…
一.语法 replace(str_source,str1,str2)  把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 replace(str_source,str1)         把str_source 中的 str1 字符串剔除 regexp_replace(str_source,pattern_str,rep_str) 支持正则表达式,用法类似于 replace,但功能更强大 regexp_replace(…
数据仓库中有的字段不合格,有特殊字符,比如换行符. poi_name \n19013 \n12013 怎么把换行符替换掉呢? https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-StringOperators regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT) Returns the…
在数据库中难免会遇到需要对数据进行脱敏的操作,无论是姓名,还是身份证号. 最近遇到一个需求,需要对姓名进行脱敏: 姓名长度为2,替换为姓+*: 姓名长度为3,替换中间字符为*: 姓名长度为4,替换第3个字符为*: 经过一番搜索之后,最终找到了3种方式的实现,具体如下. 一.先查找,再替换 ,),'*') as name from dual; 注意:此种方法通过对第2个字符进行替换,如果名字为叠名,则会发生上述误替换情况: 二.拼接 ,),) as name from dual; 三.使用rege…
从一串文本中提取数字: select translate('用纸箱包200/箱',REGEXP_replace('用纸箱包200PCS/箱','[0-9]',''),' ')from dual; translate 表示用用第三个串替换第二个串的内容,如果第二个串里没有,则保留下来. translate(第一个,第二个,第三个)…