本文给大家分享 java 使用正则表达式匹配中文的实例代码, 以及 java 中要匹配中文的正则表达式两种写法, 感兴趣的朋友通过本文一起看看吧
只能输入中文
- /**
- * 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 = "晴";
- String regexStr = "[\u4E00-\u9FA5]";
- str.regex(regexStr);
- (2)String str = "晴";
- String regexStr = "[一 - 龥]";
- str.regex(regexStr);
说明:
(1)现在网上大多数用于判断中文字符的是 \ u4E00-\u9FA5 这个范围是只是中日韩统一表意文字这个区间, 但这不是全部, 如果要全部包含, 则还要他们的扩展集部首象形字注间字母等等; 具体可以查看 unicode 中简体中文编码
(2) "[一 - 龥]"; 是查出的 \ u4E00-\u9FA5 对应的中文具体 uniocde2 中文进行查询
来源: http://www.phperz.com/article/18/0224/359240.html