java中怎么用正则截取html中的全部?

java中怎么用正则截取html中的全部?,第1张

// 这是你的HTML内容\x0d\x0a String str = " abc def "\x0d\x0a // 这是正则表达式\x0d\x0a String p = "(]*>[^)"\x0d\x0a Pattern pt = Pattern.compile(p)\x0d\x0a Matcher m = pt.matcher(str)\x0d\x0a while (m.find())\x0d\x0a {\x0d\x0a // 输出匹配的内容\x0d\x0a System.out.println(m.group(1))\x0d\x0a } 回答于 2022-12-11 抢首赞 已踩 0 查看全部1个回答 — 为你推荐更多精彩内容 — 正在加载 加载失败 点击重新加载

微信

微博

QQ

QQ空间

答案纠错

举报

取消 赞赏答主 5 10 50 100 200

已赞赏0财富值

合计:0 财富值

登录后赞赏 选择举报类型 侵犯版权 色情低俗 涉嫌违法犯罪 时政信息不实 垃圾广告 低质灌水 工作人员会在48小时内处理,处理结果请关注系统通知,感谢您对百度知道的支持。 确定 void function(a,b,c,d,e,f){function g(b){a.attachEvent?a.attachEvent("onload",b,!1):a.addEventListener&&a.addEventListener("load",b)}function h(a,c,d){d=d||15var e=new Datee.setTime((new Date).getTime()+1e3*d),b.cookie=a+"="+escape(c)+"path=/expires="+e.toGMTString()}function i(a){var c=b.cookie.match(new RegExp("(^| )"+a+"=([^]*)(|$)"))return null!=c?unescape(c[2]):null}function j(){var a=i("PMS_JT")if(a){h("PMS_JT","",-1)try{a=a.match(/{["']s["']:(\d+),["']r["']:["']([\s\S]+)["']}/),a=a&&a[1]&&a[2]?{s:parseInt(a[1]),r:a[2]}:{}}catch(c){a={}}a.r&&b.referrer.replace(/#.*/,"")!=a.r||alog("speed.set","wt",a.s)}}if(a.alogObjectConfig){var k=a.alogObjectConfig.sample,l=a.alogObjectConfig.randd="https:"===a.location.protocol?"https://fex.bdstatic.com"+d:"http://fex.bdstatic.com"+d,k&&l&&l>k||(g(function(){alog("speed.set","lt",+new Date),e=b.createElement(c),e.async=!0,e.src=d+"?v="+~(new Date/864e5)+~(new Date/864e5),f=b.getElementsByTagName(c)[0],f.parentNode.insertBefore(e,f)}),j())}}(window,document,"script","/hunter/alog/dp.mobile.min.js") window.tt = 1678061792

//我随便写了一个工具类,getRegexData就是那个方法,你可以根据你的需求稍加改动即可因为我使用的

//URL 而不是HttpClient,所以数据是全部获取过来了,你自己改改吧!不懂再问我

package com.wdy.util

import java.io.IOException

import java.io.InputStream

import java.net.URL

import java.util.ArrayList

import java.util.List

import java.util.regex.Matcher

import java.util.regex.Pattern

/**

 * 工具类

 * @author WDY

 *

 */

public class Tool {

    public static void main(String[] args) {

        System.out.println(getRegexData("<img[ ]*src.*?jpg\"", "<img src=\"img1.jpg\"><img src=\"img2.jpg\""))

        

        

        try {

            URL url=new URL("http://www.baidu.com")

            String stringData=getStringFromInputStream(url.openStream())

            System.out.println(stringData+"----------------------------------------")

            System.out.println()

            

            System.out.println(getRegexData("http://.{6,70}?(png|jpg)", stringData))

        } catch (IOException e) {

            e.printStackTrace()

        }

    }

    /**

     * 给一个正则表达式,和数据,将正则匹配到的数据全数取出来

     * 

     * @param regex

     * @param data

     * @return List<String>

     */

    public static List<String> getRegexData(String regex,String data){

        Pattern pattern=Pattern.compile(regex)

        Matcher matcher=pattern.matcher(data)

        List<String> resultList=new ArrayList<String>()

        int index=0//搜索的位置

        String temp=""

        /* 从指定位置查找,如果找到了,就继续执行下面的代码 */

        while(matcher.find(index)){

            temp=matcher.group()//将匹配到的数据取出来放到集合中去

            resultList.add(temp)

            index+=temp.length()//将查找位置放到此时找到的数据后面

            System.out.println(index)

        }

        return resultList

    }

    /**

     * 将输入流装成字符串

     * @param is

     * @return

     */

    public static String getStringFromInputStream(InputStream is)throws IOException{

        

        StringBuilder sbl=new StringBuilder()

        byte[] buff=new byte[1024*8]

        int len

        int i=0

        while((len=is.read(buff))!=-1){

            sbl.append(new String(buff,0,len,"utf-8"))

            System.out.println(i++)

        }

        System.out.println(sbl.length())

        return sbl.toString()

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7205807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存