本文实例讲述了Java正则匹配中文的方法。分享给大家供大家参考,具体如下:
1、匹配双引号间内容:
1
2
3
4
5
6
7
8
9
10
|
public void test1() {
// 匹配双引号间内容
String pstr = "\"([^\"]+)\"" ;
Pattern p = Pattern.compile(pstr);
Matcher m = p.matcher( "\"goodjob\"" );
System.out.println(m.find() ? m.group( 1 ) : "nothing" );
// 测试中文
m = p.matcher( "\"goodjob里面有中文呢\"" );
System.out.println(m.find() ? m.group( 1 ) : "nothing" );
}
|
2、中文内容也匹配:
1
2
3
4
5
6
7
8
9
10
|
public void test2() {
// 中文内容也匹配
String pstr = "\"([^\"|[\u4e00-\u9fa5]]+)\"" ;
Pattern p = Pattern.compile(pstr);
Matcher m = p.matcher( "\"goodjob里面有中文呢\"" );
System.out.println(m.find() ? m.group( 1 ) : "nothing" );
// 测试标点
m = p.matcher( "\"goodjob还有标点!\"" );
System.out.println(m.find() ? m.group( 1 ) : "nothing" );
}
|
3、标点也匹配:
1
2
3
4
5
6
|
public void test3() {
// 标点也匹配
Pattern p = Pattern.compile( "\"([^\"|[\u4e00-\u9fa5\ufe30-\uffa0]]+)\"" );
Matcher m = p.matcher( "\"goodjob还有标点!\"" );
System.out.println(m.find() ? m.group( 1 ) : "nothing" );
}
|
上面三个程序的输出如下:
1
2
3
4
5
|
goodjob
nothing
goodjob里面有中文呢
nothing
goodjob还有标点!
|
希望本文所述对大家java程序设计有所帮助。