匹配Unicode字符的正则表达式(中⽂)
这⾥是⼏个主要⾮英⽂语系字符范围(google上到的):
2e80~33ffh:中⽇韩符号区。收容康熙字典部⾸、中⽇韩辅助部⾸、注⾳符号、⽇本假名、韩⽂⾳符,中⽇韩的符号、标点、带圈或带括符⽂数字、⽉份,以及⽇本的假名组合、单位、年号、⽉份、⽇期、时间等。
3400~4dffh:中⽇韩认同表意⽂字扩充a区,总计收容6,582个中⽇韩汉字。
4e00~9fffh:中⽇韩认同表意⽂字区,总计收容20,902个中⽇韩汉字。
a000~a4ffh:彝族⽂字区,收容中国南⽅彝族⽂字和字根。
ac00~d7ffh:韩⽂拼⾳组合字区,收容以韩⽂⾳符拼成的⽂字。
f900~faffh:中⽇韩兼容表意⽂字区,总计收容302个中⽇韩汉字。
fb00~fffdh:⽂字表现形式区,收容组合拉丁⽂字、希伯来⽂、阿拉伯⽂、中⽇韩直式标点、⼩符号、半⾓符号、全⾓符号等。
⽐如需要匹配所有中⽇韩⾮符号字符,那么正则表达式应该是^[\u3400-\u9fff]+$
理论上没错, 可是我到ko随便复制了个韩⽂下来, 发现根本不对, 诡异
再到jp复制了个'お', 也不得⾏..
中文字符unicode查询然后把范围扩⼤到^[\u2e80-\u9fff]+$, 这样倒是都通过了, 这个应该就是匹配中⽇韩⽂字的正则表达式了, 包括我們臺灣省還在盲⽬使⽤的繁體中⽂
⽽关于中⽂的正则表达式, 应该是^[\u4E00-\u9FFF]+$, 和论坛⾥常被⼈提起的^[\u4E00-\u9FA5]+$很接近
需要注意的是论坛⾥说的^[\u4e00-\u9fa5]+$这是专门⽤于匹配简体中⽂的正则表达式, 实际上繁体字也在⾥⾯, 我⽤测试器测试了下'中華⼈民共和國', 也通过了, 当然, ^[\u4E00-\u9FFF]+$也是⼀样的结果
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论