只包含中文、数字、空格、冒号的Java正则表达式如下
^[\\u4e00-\\u9fa5 0-9:]+$
我给你个Java语言匹配只包含中文、数字、空格、冒号的程序,你看看吧
import javautilregexMatcher;import javautilregexPattern;
public class CC {
public static void main(String[] args) {
String s="你好 晚上好:2016";
String regex="^[\\u4e00-\\u9fa5 0-9:]+$";
Pattern p=Patterncompile(regex);
Matcher m=pmatcher(s);
if(mmatches()){
Systemoutprintln("匹配");
}else{
Systemoutprintln("不匹配");
}
}
}
运行结果
匹配
不一定的,需要依表达式范围而定,例如:[\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)匹配(主要针对多字节比如汉字)。
参考资料来源:百度百科-正则表达式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)