Java的正则表达式如何匹配中文字符呢?
下面给出例子让我们匹配所有的中文字符:
public static void regxChinese(){
// 要匹配的字符串
String source = "<span title='5 星级酒店' class='dx dx5'>";
// 将上面要匹配的字符串转换成小写
// source = source.toLowerCase();
// 匹配的字符串的正则表达式
String reg_charset = "<span[^>]*?title=\'([0-9]*[\\s|\\S]*[\u4E00-\u9FA5]*)\'[\\s|\\S]*class=\'[a-z]*[\\s|\\S]*[a-z]*[0-9]*\'";
Pattern p = Pattern.compile(reg_charset);
Matcher m = p.matcher(source);
while (m.find()) {
System.out.println(m.group(1));
}
}
输出如下:
5 星级酒店
注解:匹配所有中文字符正则表达式如下:
[\u4E00-\u9FA5]汉字﹐[\uFE30-\uFFA0]全角字符
所以说,Java的正则表达式是可以匹配中文字符的,同时,用中文字符来写表达式也是可以的.比如说上面的要匹配下面的字符:
5 星级酒店
上面例子中的中文正则表达式还可以写成如下的形式:
String reg_charset = "<span[^>]*?title=\'([0-9]*[\\s|\\S]*星级酒店)\'[\\s|\\S]*class=\'[a-z]*[\\s|\\S]*[a-z]*[0-9]*\'";
但是为了灵活性,最好就别用中文去写正则表达式,这样写太死了,一个不小心多个空格都会匹配不了..
分享到:
相关推荐
如果你曾经用过Perl或任何其他内建正则表达式支持的语言,你一定知道用正则表达式处理文本和匹配模式是多么简单。如果你不熟悉这个术语,那么“正则表达式”(Regular Expression)就是一个字符构成的串,它定义了一...
java通过正则表达式匹配获取MAC(支持windows和Linux)
正则表达式匹配工具很好很强大 放心使用 内附各种经典正则匹配公式
正则表达式的合集,包括电话号码,邮箱验证,手机号码验证等等...开发时候拿来用非常方便!
最新手机号码、电话号码正则表达式
主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作技巧,需要的朋友可以参考下
java中常用的匹配正则表达式实例大全.doc
java正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdfjava正则表达式.pdf
我在一次偶然中发现了位于 java.sun.com 站点上的 Java Tutorial,也在那里看到了关于 Java 的正则表达式教程,感觉它不同于其他的正则表达式教程,文中以大量的匹配实例来进行说明。为了能让 Java 学习者能更好地...
java超时取消正则表达式匹配方法,代码超时处理,设置代码执行时间,超棒的工具类 lambda,Callable,ExecutorService,超过执行5秒退出
java 利用正则表达式从字符串中提取省、市、区、镇、乡等区域名称(包含少数民族地区),支持地址中无省,无市,无县情况。
说某个字符串匹配某个正则表达式,通常是指这个字符串里有一部分(或几部分分别)能满足表达式给出的条件。 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述...
java正则表达式验证IP地址
本资源文件是我自己总结的,其中包括5个类,这5个类的代码基本概括了java正则表达式替换String的多种情况,比如获取某个文件路径中盘符/后边的部分内容,提取"<title>XXXX</title>"中的文字XXXX,用正则表达式获取指定...
JAVA正则表达式应用:任意输入一串字符串 如何输入exit退出程序;从输入的字符串中判断是否包含手机号码 正则表达式可以使用" +86| 86 1 d{10}" 如果包含请将其在控制台打印出来 否则输出不包含字符串 ...
通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式匹配、提取和转换文本。正则表达式是程序员必备的强大工具,得到了各种Unix实用程序,以及Perl、Java、JavaScript、C#等编程语言的支持。读完...
本文当是java正则表达式实例教程,从入门语法开始,结合源代码实例,详细讲解了java正则表达式用法和相关细节
java正则表达式详解,希望对大家有用。
匹配中文字符的正则表达式: [u4e00-u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^x00-xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2...
正则表达式主要配合以下方法使用 匹配 string.matches() 分割 string.split() 替换 string.replaceAll()