首页 > 编程语言 > 详细

java正则表达式使用

时间:2014-11-05 00:08:02      阅读:291      评论:0      收藏:0      [点我收藏+]

  最近碰到在某个网站下载东西不能同时下载两个以上的文件,为了方便下载我用了java解析网页源码去下载文件,其中用到了正则表达式,发个简单的正则表达式例子。

public class PatternTest {
    public static void main(String[] args) {
      String testString = "<html><a href =‘http://www.baidu.com‘ id= ‘baidu‘ ><a href =‘http://www.163.com‘ id=‘wangyi‘ ></html>";
      // 符合name=‘baidu‘ 的<a>标签.
      String patternString = "<\\s*[a|A]([^>]*)[i|I][d|D]\\s*[=]\\s*[‘|\"](baidu)[‘|\"](.*?)>";
      Pattern pattern = Pattern.compile(patternString, Pattern.DOTALL);
      Matcher ma = pattern.matcher(testString);
      while (ma.find()) {
          System.out.println(ma.group());
      }
    }
}

目标是提取网页中满足id=‘baidu‘的<a>标签。下面来解释一下patternString的含义:

  \\s*    多个空格,<和a之间存在空格也是合法的

  ([^>]*)  多个非>的字符串

  (.*?)    匹配尽可能短的字符串

  

java正则表达式使用

原文:http://www.cnblogs.com/BeautyConcurrency/p/4075044.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!