在开发中,正则表达式有很大的用途的,现在说说它最基本的4个常用的功能:
- packagecom.sucre.blog;
- importjava.util.regex.Matcher;
- importjava.util.regex.Pattern;
- /**
- *正则表达式的常用功能测试
- *@authorsucre
- *
- */
- publicclassRegularExpressions{
- /**
- *查询str中是否有regEx,有rs为true,否则为flase
- *@return
- */
- privatestaticvoidsearchCharacter(){
- Stringstr="sucreblog51CTO.COM";
- StringregEx="c|l";//表示a或f
- Patternp=Pattern.compile(regEx);
- //这种写法是忽略大小写的
- //Patternp=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
- Matcherm=p.matcher(str);
- booleanrs=m.find();
- System.out.println(rs);
- }
- /**
- *提取字符串
- *结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount();
- */
- privatestaticvoidextraction(){
- StringregEx="(.+)$";
- Stringstr="c:\\name.txt";
- Patternp=Pattern.compile(regEx);
- Matcherm=p.matcher(str);
- booleanrs=m.find();
- for(inti=1;i<=m.groupCount();i++){
- System.out.println(m.group(i));
- }
- }
- /**
- *分割字符串
- *
- */
- privatestaticvoidsegmentation(){
- StringregEx="::";
- Patternp=Pattern.compile(regEx);
- String[]r=p.split("sucre::blog::51cto");
- for(inti=0;i<r.length;i++){
- System.out.println(r[i]);
- }
- }
- /**
- *替换字符
- *
- */
- privatestaticvoidreplace(){
- StringregEx="a+";//表示一个或多个a
- Patternp=Pattern.compile(regEx);
- Matcherm=p.matcher("aaabbcedaccdeaa");
- Strings=m.replaceAll("A");
- System.out.println(s);
- }
- publicstaticvoidmain(String[]args){
- searchCharacter();
- extraction();
- segmentation();
- replace();
- }
- }
运行结果为
- true
- c:\name.txt
- sucre
- blog
- 51cto
- AbbcedAccdeA
许多复杂的功能都是在这些简单功能的基础上构建起来的,基础很重要。
本文出自 “乔磊的博客 学习 进步” 博客,请务必保留此出处http://www.jb51.cc/article/p-bmkgarja-bhq.html