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

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


------解决方案--------------------
SQL code

--脚本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:]])',''));