码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式简单使用

时间:2015-08-21 01:43:28      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

正则表达式:

  正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。(百度百科)

API:http://tool.oschina.net/uploads/apidocs/jdk-zh/java/util/regex/Pattern.html

作用:用于专门操作字符串
使用:
1.用于匹配字符串;
String类的 matches(String reg)方法
2.切分字符串
String类的 split(String reg)方法
3.替换字符串
String类的 replace()和replaceAll()方法
4.获取指定规则的字符串
过程:1.封装正则表达式到Pattern,使用Pattern.compile(reg)
2.把正则对象和要操作的字符想关联,pattern.matches(str)
3.关联后,获取正则匹配引擎 通过上面的pattern.matcher(str)可以得到Matcher引擎
4.通过引擎操作,可以取出所要的字符串(引擎还有其他功能,例如前面所提及的匹配、切分、替换等)通过matcher的group方法就可以取出想要的字符串,但是group方法的使用前提是:该str必须与给reg有过匹配才能使用,所以通常的做法就是:
while(matcher.find()){
m.group();
}

  这个方法常用语写爬虫,抓取自己想要的东西,例如邮箱,QQ等信息。

其他:
组:用()表示,通常是在重复引用的时候,然后组会有编号,从1开始,\1表示引用第一个()的内容,在替换过程中还可以通过$n来引用第n组的内容。

好处:对字符串的操作简单,简化一些繁琐的操作

弊端:由于正则表达式的规则表较多,特殊字符也比较多,但是涉及到的比较复杂的字符处理,书写正则表达式将会变得很麻烦,阅读性差

最简单的使用方法:

Pattern pattern = Pattern.compile("[w]{3}.[a-z\\-]{11}.[a-z]{3}");
Matcher matcher = pattern.matcher("www.alibaba-inc.com");
boolean result = matcher.matches();

  匹配的话就返回true,不匹配的话就返回false==。

说白了,正则表达式就是对字符串的特殊操作,虽然书写有时候会比较麻烦,阅读性也比较差,但是用得好的话,功能很强大,死记硬背到不用,用到的时候再查,主要是使用规则要明白,看API就足够了~

正则表达式简单使用

标签:

原文地址:http://www.cnblogs.com/sevenlin/p/sevenlin_20150829Pattern.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!