Java使用正则表达式(regex)匹配中文实例代码

时间:2022-02-26 23:42:33

只能输入中文

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 22.验证汉字
* 表达式 ^[\u4e00-\u9fa5]{0,}$
* 描述 只能汉字
* 匹配的例子 清清月儿
*/
@Test
public void a1() {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String regex = "^[\\u4e00-\\u9fa5]*$";
Matcher m = Pattern.compile(regex).matcher(input);
System.out.println(m.find());
sc.close();
}

PS:下面看下Java中要匹配中文的正则表达式可以有两种写法:一是使用unicode中文码;二是直接使用汉字字符;

例:

(1)String str = "晴";

?
1
2
String regexStr = "[\u4E00-\u9FA5]";
str.regex(regexStr);

(2)String str = "晴";

?
1
2
String regexStr = "[一-龥]";
str.regex(regexStr);

说明:

(1)现在网上大多数用于判断中文字符的是 \u4E00-\u9FA5 这个范围是只是“中日韩统一表意文字”这个区间,但这不是全部,如果要全部包含,则还要他们的扩展集、部首、象形字、注间字母等等; 具体可以查看unicode中简体中文编码

(2) "[一-龥]";是查出的\u4E00-\u9FA5对应的中文。具体uniocde2中文进行查询

以上所述是小编给大家介绍的Java使用正则表达式(regex)匹配中文实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://blog.csdn.net/hncu1306602liuqiang/article/details/53502582