Java正则表达式校验是否为汉字
在Java中,我们经常需要对输入的内容进行校验,其中包括判断是否为汉字。利用正则表达式可以方便快捷地实现这一功能。
什么是正则表达式
正则表达式是一种用于描述字符串模式的工具,通过一系列的字符和操作符可以定义一种搜索模式。在Java中,通过java.util.regex包可以方便地使用正则表达式。
正则表达式校验是否为汉字
要校验一个字符串是否为汉字,我们可以使用正则表达式[\u4e00-\u9fa5]。这个表达式表示匹配所有汉字的范围。
实际操作
定义了一个isChinese方法,用于判断输入的字符串是否包含汉字。使用Pattern和Matcher类来实现正则表达式的匹配。
正则表达式:[\u4e00-\u9fa5]+
解释:匹配一个中文或者多个中文。使用全匹配方式
package com.xingyun.controller.chineseToPinyin;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ChineseMatcher {
public static void main(String[] args) {
System.out.println("一个中文:" + isChinese("中"));
System.out.println("两个中文:" + isChinese("中文"));
System.out.println("中文+数字:" + isChinese("中1文"));
System.out.println("中文+中文符号:" + isChinese("中文!"));
System.out.println("中文+英文符号:" + isChinese("中1文!"));
System.out.println("中文转化为拼音:" + isChinese("中文!"));
System.out.println("中文转化为拼音:" + isChinese("中1文!"));
System.out.println("中文+数字+中文符号+英文符号:" + isChinese("中1文!!"));
}
/**
*
* 一个汉字或者多个汉字
* @param str
* @return
*/
public static boolean isChinese(String str) {
Pattern pattern = Pattern.compile("[\u4e00-\u9fa5]+");
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
}
执行的结果:
一个中文:true
两个中文:true
中文+数字:false
中文+中文符号:false
中文+英文符号:false
中文转化为拼音:false
中文转化为拼音:false
中文+数字+中文符号+英文符号:false