常用正则表达式——中文匹配、拉丁匹配

最近写脚本发现正则也挺有用的,于是就研究了一下。

总结起来使用正则表达式来匹配中文、韩文、日文、拉丁等范围的字符非常方便。这里也用到了unicode编码表相关知识,下面给出wiki的具体链接,有兴趣的童鞋可以去看看。

Unicode字符平面映射:

http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84

Unicode字符列表:

http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8

中(包括繁体)日韩字符:[u2E80-u9FFF]

拉丁字符:([u00A0-u00FF]|[u0100-u017F]|[u0180-u024F])

中(包括繁体)字符:[u4E00-u9FA5]

这里拉丁我的典型应用时匹配汉字的音标:

下面是测试文档:

然后把范围扩大到^[u2E80-u9FFF]+
$, 这样倒是都通过了, 这个应该就是匹
配中日韩文字的正则表达式了, 包括我們
臺灣省還在盲目使用的繁體中文

sdfsdf,sdjsldj,sdj;lasjdfiselfes;lf
sjs;ldkjfie;sldijf  n-bottom: 0'>dā<
/p><pèsssdsddsàddssdsdchūnchúnchǔng
uī;guǐ;guìhūn;hún;hǔn;hùn

匹配结果截图:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

补充部分:

虽然上面的工具是可以正确识别上面正则表达式的,但是对于有些工具(例如:文本编辑器emeditor、notepad++等)却不好使。而对于这些工具一般使用如下格式来使用匹配范围字符。

例如:

中(包括繁体)日韩字符:[x{2E80}-x{9FFF}]

拉丁字符:([x{00A0}-x{00FF}]|[x{0100}-x{017F}]|[x{0180}-u024F}])

中(包括繁体)字符:[x{4E00}-x{9FA5}]


原文地址:https://www.cnblogs.com/superstargg/p/4437261.html