正则表达式入门(Java版)

前端之家收集整理的这篇文章主要介绍了正则表达式入门(Java版)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_301_3@

基本语法及快捷符号@H_301_3@

参考《JavaNIO》@H_301_3@

@H_301_3@

InternetSource@H_301_3@

http://www.jb51.net/article/31251.htm@H_301_3@

http://www.jb51.net/article/16829.htm@H_301_3@

http://www.iteye.com/topic/301465@H_301_3@

http://www.jb51.cc/article/p-dgscxyyn-yn.html@H_301_3@

@H_301_3@

使用流程@H_301_3@

·写出正则表达式,生成Pattern实例,相当于一个定位器,定位主串中自己感兴趣的那部分。@H_301_3@

·Matchermather=parrent.matcher(“主串”)@H_301_3@

·调用matcher的各种方法来执行模式匹配成功之后的操作。@H_301_3@

如:@H_301_3@

while(matcher.find()){......};//循环取出匹配成功的模式子串@H_301_3@

matcher.appentReplacement(sb,要替换的字符串);//sb中追加替换掉的模式字串@H_301_3@

matcher.replaceAll(要替换的字符串);@H_301_3@

matcher.groupCount();//模式串中()符号获取的组的长度@H_301_3@

matcher.group(index);//置于如何看group(1)group(2)...是代表正则表达式的那一部分请到《JavaNIOP167@H_301_3@

·直接用String类处理。@H_301_3@

分割:String[]rs=s.split("分割标记");@H_301_3@

替换:str=str.replaceAll("被替换的","替换的");@H_301_3@

@H_301_3@

@H_301_3@

@H_301_3@

@H_301_3@

功能函数例子@H_301_3@

·对字符串的分割@H_301_3@

EX1@H_301_3@

1Strings="aa:bb:cc";@H_301_3@

2String[]rs=":");//以冒号为分隔符!!@H_301_3@

EX2@H_301_3@

Stringstr="薪水,职位姓名;年龄性别";@H_301_3@

String[]dataArr=str.split("[,\s;]");//以,或空格或;为分隔符!!@H_301_3@

for(StringstrTmp:dataArr){@H_301_3@

System.out.println(strTmp);@H_301_3@

}@H_301_3@

@H_301_3@

·对字符串的替换和删除@H_301_3@

EX1@H_301_3@

Stringstr="@@abc@d@";@H_301_3@

str=str.replaceAll("@","#");//#号替换@号!!@H_301_3@

System.out.println(str);@H_301_3@

EX2@H_301_3@

Patternp=Pattern.compile("m(o+)n",Pattern.CASE_INSENSITIVE);@H_301_3@

//Pattern类的matcher()方法生成一个Matcher对象@H_301_3@

Matcherm=p.matcher("moonmooonMonmooooonMooon");@H_301_3@

StringBuffersb=newStringBuffer();@H_301_3@

//使用find()方法查找第一个匹配的对象@H_301_3@

booleanresult=m.find();@H_301_3@

//使用循环找出模式匹配的内容替换之,再将内容加到sb@H_301_3@

while(result){@H_301_3@

m.appendReplacement(sb,"moon");@H_301_3@

result=m.find();@H_301_3@

}@H_301_3@

//最后调用appendTail()方法将最后一次匹配后的剩余字符串加到sb里;@H_301_3@

m.appendTail(sb);@H_301_3@

System.out.println("替换后内容"+sb.toString());@H_301_3@

@H_301_3@

在某个文件获取一段字符串@H_301_3@

EX1@H_301_3@

3StringregEx=".+\(.+)$";//获取\号之后的任意长度的字符串!!@H_301_3@

4Strings="c:\test.txt";@H_301_3@

5Patternpat=Pattern.compile(regEx);@H_301_3@

6Matchermat=pat.matcher(s);@H_301_3@

7booleanrs=mat.find();@H_301_3@

8for(inti=1;i<=mat.groupCount();i++){@H_301_3@

9  System.out.println(mat.group(i));@H_301_3@

10}@H_301_3@

@H_301_3@

Java中在某个字符串中查询某个字符或者某个子字串@H_301_3@

11Strings="@ShangHaiHongQiaoFeiJiChang";  @H_301_3@

12StringregEx="a|F";//表示aF@H_301_3@

13Patternpat=Pattern.compile(regEx);@H_301_3@

14Matchermat=pat.matcher(s);@H_301_3@

15booleanrs=mat.find();@H_301_3@

@H_301_3@

·group()用法@H_301_3@


@H_301_3@


@H_301_3@

正则表达式的重点是他的那些语法,其次正则表达式的group()也是一个难点(一个模式串由圆括号括起来就产生了很多的模式子串,可以用group(i)函数来定位这些模式子串)。@H_301_3@ 原文链接:https://www.f2er.com/regex/361607.html

猜你在找的正则表达式相关文章