码迷,mamicode.com
首页 > 编程语言 > 详细

Java对正则表达式的支持(一)

时间:2015-05-11 01:20:58      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

  Java对正则表达式的支持主要体现在String、Pattern、Matcher和Scanner类。

 1.Pattern、Matcher

  先看一个Pattern和Matcher类使用正则表达式的例子。

public class PatternTest {    

    public static void main(String [ ] args) {
        String testString = "abcabcabcdefabc";
        String [] regexs = new String []{"abc+","(abc)+","(abc){2,}"};
        
        for(String regex:regexs){
            Pattern p = Pattern.compile(regex);
            Matcher m = p.matcher(testString);
            
            System.out.println("test regex: " + regex);
            while(m.find()){
                System.out.println("match " + m.group() + " at position " + m.start() + "-" + (m.end() -1));
            }
        }
    }
    
}

  运行的结果为:

test regex: abc+
match abc at position 0-2
match abc at position 3-5
match abc at position 6-8
match abc at position 12-14
test regex: (abc)+
match abcabcabc at position 0-8
match abc at position 12-14
test regex: (abc){2,}
match abcabcabc at position 0-8

  先对几个正则表达式的含义进行解释:

  abc+:匹配abc或者abcc或者abccc等。

  (abc)+:根据贪婪原则,匹配1次或者多次连续的abc,匹配最长的字符串。

  (abc){2,}:abc至少出现2次,匹配abcabc或者abcabcabc等。

  

Java对正则表达式的支持(一)

标签:

原文地址:http://www.cnblogs.com/lnlvinso/p/4493411.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!