最近做项目,有这样一需求:ORACLE数据库中求除数字、字母之外的非中文字符的正则表达式
如有如下字段,需将其中除字母、数字、汉字外的其他所有字符替换为空
'asdfsad ,,;)()!@123234#$%^*(我w 是e ? 中国人。./\[]::‘'“”一人'
最终得到值:asdfsad123234我是中国人一人
select FN_REG_REPLACEOTHER('asdfsad ,,;)()!@#$%^*(我是?中国人。./\[]::‘'“”一人','需要的正则表达式,'') from dual;
谢谢。以下答案就勿跟贴:
(\s)|(\,)|(\,)|(\.)|(\。)|(\:)|(\:)|(\;)|(\;)|(\))|(\))|(\()|(\))|(\()|(\‘)|(\')|('')|(\")|(\“)|(\”)|(\[)|(\]|(\!)|(\!)|(\@)|(\#)|(\%)|(\%)|(\^)|(\)|(\*)|(\¥)|(\$)|(\/)|(\\)|(\&;)|(\?))
------解决方案--------------------
select regexp_replace('asdfsad ,,;)()!@123234#$%^*(我w 是e ? 中国人。./\[]::‘'“”一人'
,'[[:punct:]|[:blank:]|[:space:]|[:cntrl:]]','')
from dual
;
REGEXP_REPLACE('ASDFSAD,,;)
-----------------------------
asdfsad123234我w是e中国人一人
好了,本文的内容就到此为止了,希望对大家有用。
您可能感兴趣的文章:- Oracle通过正则表达式分割字符串 REGEXP_SUBSTR的代码详解
- Oracle中正则表达式的使用实例教程
- Oracle 正则表达式实例详解
- oracle正则表达式regexp_like的用法详解
- Oracle正则表达式使用介绍
- Oracle 10G:PL/SQL正规表达式(正则表达式)手册
- ORACLE 正则解决初使化数据格式不一致
- Oracle数据库正则表达式使用场景代码实例