日期:2014-05-16  浏览次数:20469 次

oracle正则表达式如何匹配中文

????? 自从oracle10g支持正则表达式以来,受到很多人的喜欢,因为可以通过很少的代码便可以解决很多的问题,例如批量更新等。但对于国内用户来说,可能会遇到一个比较困扰的问题,就是使用在其他很多语言中都可以成功的中文匹配正则表达式,在oracle这里失效了,那到底oracle要怎么才能成功匹配中文呢?

?

????? 请用\w

?

????? 按照常规来说,在正则表达式中,匹配中文的代码是\u4e00-\u9fa5,但这对oracle来说却毫无作用,例如,我想匹配格式如“01-大夫山场馆建设-0623-01”这样的数据时,用(\d)*(-)*(\u4e00-\u9fa5)*-\d{4}-\d*是无法成功的,但只要改为(\d)*(-)*(\w)*-\d{4}-\d*就可以了