欢迎来到天天文库
浏览记录
ID:8799540
大小:44.50 KB
页数:8页
时间:2018-04-08
《java正则表达式4种常用的功能》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、JAVA 正则表达式4种常用的功能下面简单的说下它的4种常用功能: 查询: 以下是代码片段:Stringstr="abcefgABC";StringregEx="a
2、f";//表示a或fPatternp=Pattern.compile(regEx);Matcherm=p.matcher(str);booleanrs=m.find(); 如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Patternp=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE); 提取:以下是代码片段:St
3、ringregEx=".+(.+)$";Stringstr="c:dir1dir2ame.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));} 以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount(); 分割: 以下是代码片段:StringregEx="::";Patter
4、np=Pattern.compile(regEx);String[]r=p.split("xd::abc::cde");执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:Stringstr="xd::abc::cde";String[]r=str.split("::"); 替换(删除): 以下是代码片段:StringregEx="a+";//表示一个或多个aPatternp=Pattern.compile(regEx);Matcherm=p.matcher("aaabbcedaccdeaa");Strings=m.replaceAll("A"); 结
5、果为"AbbcedAccdeA" 如果写成空串,既可达到删除的功能,比如: Strings=m.replaceAll(""); 结果为"bbcedccde" 附: D等於[^0-9]非数字 s等於[tx0Bf]空白字元 S等於[^tx0Bf]非空白字元 w等於[a-zA-Z_0-9]数字或是英文字 W等於[^a-zA-Z_0-9]非数字与英文字 ^表示每行的开头 $表示每行的结尾Java程序员:一刻钟精通正则表达式 想必很多人都对正则表达式都头疼。今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式来和大家分享学习
6、经验。 开篇,还是得说说^和$他们是分别用来匹配字符串的开始和结束,以下分别举例说明: "^The":开头一定要有"The"字符串; "ofdespair$":结尾一定要有"ofdespair"的字符串; 那么, "^abc$":就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。 "notice":匹配包含notice的字符串。 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说模式(正则表达式)可以出现在被检验字符串的任何地方,你没有把他锁定到两边。 接着,说说'*','+',和'?', 他们用来表示一个字符可以出现的次数或者顺序。他们分别表
7、示: "zeroormore"相当于{0,}, "oneormore"相当于{1,}, "zeroorone."相当于{0,1},这里是一些例子: "ab*":和ab{0,}同义,匹配以a开头,后面可以接0个或者N个b组成的字符串("a","ab","abbb",等); "ab+":和ab{1,}同义,同上条一样,但最少要有一个b存在("ab","abbb",等。); "ab?":和ab{0,1}同义,可以没有或者只有一个b; "a?b+$":匹配以一个或者0个a再加上一个以上的b结尾的字符串。 要点,'*','+',和'?'只管它前面那个字符。 你也可以在大括号里面限制字符
8、出现的个数,比如 "ab{2}":要求a后面一定要跟两个b(一个也不能少)("abb"); "ab{2,}":要求a后面一定要有两个或者两个以上b(如"abb","abbbb",等。); "ab{3,5}":要求a后面可以有2-5个b("abbb","abbbb",or"abbbbb")。 现在我们把一定几个字符放到小括号里,比如: "a(bc)*":匹配a后面跟0个或者一个"bc";
此文档下载收益归作者所有