日期:2014-05-17  浏览次数:21612 次

oracle 正则表达式 匹配中英文
数据形式如下:
   大家好
   大家好!
   大家好abd
   大家好123
   大家好,。
   大家好,12
   大家好abc,。
   大家好abc123
1、匹配出既含汉字又含字母的结果,如:大家好abd
2、匹配出含汉字和字母之外的字符,如:大家好!
                                     大家好123
                                     大家好,。
                                     大家好,12
                                     大家好abc,。
                                     大家好abc123

------解决方案--------------------

--脚本1
select col from t
where length(col)=length(regexp_replace(col,'([[:punct:]]
------解决方案--------------------
[[:digit:]])',''))
and regexp_like(col,'[a-zA-Z]+')
and length(col)<>lengthb(col);
--脚本2
select col from t
where length(col)<>length(regexp_replace(col,'([[:punct:]]
------解决方案--------------------
[[:digit:]])',''));