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;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM