正则表达式如何匹配汉字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式如何匹配汉字?相关的知识,希望对你有一定的参考价值。

我想匹配图中的汉字,用的公式[\u4e00-\u9fa5],但匹配的确是部分英文和\,请问匹配汉字的公式如何写?

参考技术A 按.NET的标准,\w本来就是可以匹配:汉字,字母,数字,下划线。的
所以一般\w可以满足需求了。

如果需要排除字母数字的话,可以这样:
(?![a-zA-Z0-9_])\w
>_>这样写估计效率不高

所以一般来说还是直接匹配指定的unicode码
\unnnn Unicode代码中十六进制代码为nnnn的字符

汉字(字符) [\u4e00-\u9fa5]
中文及全角标点符号(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
参考技术B 去掉 ^ 和 $ 试试 [\u4e00-\u9fa5]
\u数字,在Perl、PCRE中要改为:
[\x4e00-\x9fa5]本回答被提问者采纳

正则表达式

 

正则表达式 w s d 
. 匹配除换行符以外的任意字符 
w 匹配字母或数字或下划线或汉字 等价于 ‘[^A-Za-z0-9_]‘。 
s 匹配任意的空白符 
d 匹配数字 
 匹配单词的开始或结束 
^ 匹配字符串的开始 
$ 匹配字符串的结束

w能不能匹配汉字要视你的操作系统和你的应用环境而定

 









以上是关于正则表达式如何匹配汉字?的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式如何只匹配一个中文字符

正则表达式如何在几个汉字词组之间选择

用JAVA语言编写正则表达式匹配指定的汉字的方法

Unicode 在 UtralEdit 正则表达式 如何表达,或者匹配汉字...

如何用正则表达式匹配汉字

求一个PHP正则表达式匹配(字母、数字、汉字、下划线)