标签:
Java对正则表达式的支持主要体现在String、Pattern、Matcher和Scanner类。
先看一个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等。
标签:
原文地址:http://www.cnblogs.com/lnlvinso/p/4493411.html