Java对正则表达式的支持(一)
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等。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。