请问各位大侠: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中国人一人 (责任编辑:IT) |