本文实例讲述了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程序设计有所帮助。