oralce正则表达式判断中文汉字

oracle正则表达式regexp_substr、regexp_like(11g好像不支持)、regexp_replace是无法像其他正则表达式一样用[\u4e00-\u9fa5]来匹配中文的。
所以,我们需要用另一种方式来实现oracle正则表达式匹配中文。
我们需要用到oracle的内置函数UNISTR(str):
ASCIISTR语法:asciistr(str)  功能:返回字符串的规则表现形式,英文和数字变为规则的,中文则前面有‟\‟符号,返回unicode编码形式。
UNISTR(str)函数是相反的过程,将unicode编码变为字符。


用法:


select regexp_instr('abc中文测试','[' || unistr('\4e00') || '-' || unistr('\9fa5') || ']') from dual;

posted on 2020-02-23 12:35  mol1995  阅读(6290)  评论(0编辑  收藏  举报

导航