java正则表达式判断字符串是否含有汉字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断字符串中是否含有汉字:
String str = "test中文汉字";
String regEx = "[//u4e00-//u9fa5]";
/**
* 判断有没有中文
*/
if (str.getBytes().length == str.length()) {
System.out.println("无汉字");
} else {
System.out.println("有汉字");
}
/**
* 如果有则打印出来
*/
Pattern p = pile(regEx);
Matcher m = p.matcher(str);
while (m.find()) {
System.out.print(m.group(0) + "");
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
public static void main( String args[] ){
// 按指定模式在字符串查找
String line = "This order was placed for QT3000! OK?";
String pattern = "(.*)(\\d+)(.*)";
// 创建 Pattern 对象
Pattern r = pile(pattern);
// 现在创建 matcher 对象
Matcher m = r.matcher(line);
if (m.find( )) {
System.out.println("Found value: " + m.group(0) );
System.out.println("Found value: " + m.group(1) );
System.out.println("Found value: " + m.group(2) );
} else {
System.out.println("NO MATCH");
}
}
}
主要步骤:
1. 通过正则表达式构建Pattern对象。
2. 通过Pattern构建Matcher对象
3. 调用Matcher.find()获得匹配结果