美文网首页iApp技术文章
Java使用正则匹配网页上的资源

Java使用正则匹配网页上的资源

作者: 抹茶NightSky | 来源:发表于2018-11-24 17:40 被阅读0次

大家好我是抹茶,今天给大家带来java的正则表达式的使用。

String类中的三个基本操作使用正则:

匹配:matches()

切割: split()

替换: replaceAll()

Matcher类中常用的方法:

  boolean matches()  //是否匹配成功
  boolean find()  //查找匹配的下一个子序列
  int start()  //返回以前匹配的初始索引
  int end()  //返回最后匹配字符之后的偏移量
  Matcher reset()  //重置匹配器
  String group()  //返回由以前匹配操作所匹配的输入子序列
//利用replaceAll替换掉重复的字符
System.out.println("你你你你好好好啊".replaceAll("(.)\\1+","$1"));

//split使用正则的和replaceAll一样

正则表达式的构造摘要:

1.字符类 
[abc]        //a、b 或 c(简单类) 
[^abc]       //任何字符,除了 a、b 或 c(否定) 
[a-zA-Z]     //a 到 z 或 A 到 Z,两头的字母包括在内(范围) 
[a-d[m-p]]   //a 到 d 或 m 到 p:[a-dm-p](并集) 
[a-z&&[def]] //d、e 或 f(交集) 

2.预定义字符类 
.    //任何字符
\d   //数字:[0-9] 
\D   //非数字: [^0-9] 
\s   //空白字符:[ \t\n\x0B\f\r] 
\S   //非空白字符:[^\s] 
\w   //单词字符:[a-zA-Z_0-9] 
\W   //非单词字符:[^\w] 

3.边界匹配器 
^   //行的开头 
$   //行的结尾 
\b  //单词边界 
\B  //非单词边界 

4.Greedy 数量词 
X?       //X,一次或一次也没有 
X*       //X,零次或多次 
X+       //X,一次或多次 
X{n}     //X,恰好 n 次 
X{n,}    //X,至少 n 次 
X{n,m}   //X,至少 n 次,但是不超过 m 次 

Matcher匹配网页资源Demo

public class Main
{
    public static void main(String[] args)
    {
        String html = "<html>"+
                              "<body>"+
            "<img src=\"//fishdeep.ccxyr.top/lly/yunstream.php?filecode=a60925b303a60afdbcb862ab7d145d7f\"/>"+
            "<img src=\"//fishdeep.ccxyr.top/lly/yunstream.php?filecode=dd60ce810f05737421face90b7cc946d\"/>"+
            "<video width=\"320\" height=\"240\" controls>"+
            "<source src=\"//fishdeep.ccxyr.top/llytest/re/video.mp4\")\" type=\"video/mp4\">"+
            "</video></body>";
            Matcher m = Pattern.compile("src=\"(.*?)\"").matcher(html);
            while(m.find()){
                System.out.println("http:"+m.group(1));
            }
    }
}

相关文章

  • Java使用正则匹配网页上的资源

    大家好我是抹茶,今天给大家带来java的正则表达式的使用。 String类中的三个基本操作使用正则: 匹配:mat...

  • Python 学习笔记 061

    正则表达式 03 使用正则表达式匹配百度搜索到的内容 灵活利用正则匹配网页源代码 真心很强大的正则表达式 不过也很...

  • python爬虫爬取简书30天热门文章

    小白。使用正则爬取简书文章题目,作者和喜欢数。 一共三页,使用正则进行匹配。 首先是使用 写入获取网页代码。(这里...

  • Python简单爬虫 - 正则表达式

    Python爬虫快速上手,使用正则表达式匹配出网页中图片的URL,实现网页图片的批量下载: 007 - Pytho...

  • 网页数据提取常用正则总结

    当抓取某个网并分析网页数据时,经常会使用正则匹配网页源码中的相关数据(一般是链接),下面就说一下常用的几个正则。 ...

  • JAVA正则表达式(2)

    JAVA正则表达式的使用方法 Pattern类 Pattern的匹配模式 Pattern.DOTALL, . 可以...

  • python正则匹配

    python正则匹配规则和一个小实例 python正则匹配规则 正则小栗子 获取一个页面的网页信息 比如我要获取简...

  • 利用jsoup爬虫

    jsoup其实只是一种网页分析器,帮助java程序员进行网页元素分析,其代替了用正则表达式去匹配信息的方式,效率更...

  • 云计算D2

    jsoup爬网页 正则表达式匹配小组兴趣页

  • JavaScript知识点(4)

    闭包 子函数可以调用父函数的参数和变量 返回的资源没有得到释放 正则regExp 点 匹配任意字符 精确匹配使用方...

网友评论

    本文标题:Java使用正则匹配网页上的资源

    本文链接:https://www.haomeiwen.com/subject/cryyqqtx.html