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