正则匹配的中文包括中文标点符号吗?
不一定的,需要依表达式范围而定,例如:[\u4e00-\u9fa5] 可以识别出任何汉字,但不包含如:\u3002(匹配中文句号)。
解析:
“[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b] ”该表达式可以识别出: 。 ; , : “ ”( ) 、 ? 《 》 这些标点符号。 正则表达式“\un”匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。
正则表达式匹配中文汉字 [\u4e00-\u9fa5] ,该表达式可以识别出任何汉字。但上述 \u3002 等匹配的符号不在范围内。
扩展资料:
汉字相关的正则表达式:
1、匹配双字节字符(包括汉字在内):[^\x00-\xff] ,注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
2、只含有汉字、数字、字母、下划线,下划线位置不限:^[a-zA-Z0-9_\u4e00-\u9fa5]+$
3、/^([\p{Han}\p{P}A-Za-z0-9])*$/u,其中 \p{Han}表示utf-8编码中的所有中文字符,\p{P}表示中英文标点,A-Z表示大写字母,a-z表示小写英文字母,0-9表示数字,*表示>=0,,/u 表示按unicode(utf-8)匹配(主要针对多字节比如汉字)。
参考资料来源:百度百科-正则表达式