问答

java怎么用正则表达式提取出html代码中的图片url

作者:admin 2021-04-22 我要评论

题目描述 要把以前文章中的外部链接的图片缓存下来再替换成自己内部的地址,一条数据的html带着很多图片,想用正则匹配一下,搞的头大,求助大佬。 主要有三种要...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

题目描述

要把以前文章中的外部链接的图片缓存下来再替换成自己内部的地址,一条数据的html带着很多图片,想用正则匹配一下,搞的头大,求助大佬。

主要有三种要正则匹配出的图片
①<img src='/uploads/allimg/210422/0Z1294C4-0.jpg' />

②<section background-image: url(&quot;/uploads/allimg/210422/0Z1294C4-0.jpg&quot;) />

②<section -webkit-border-image: url(&quot;/uploads/allimg/210422/0Z1294C4-0.jpg&quot;) />

###

image
不会java ,用python的re写的,应该差不多。
如果就是这个数据的话,可以这么写试一试
f = open('a.txt').read()
re.findall("(https://image[^;']+)",f)

###

贴一下代码,正则还是差点意思," &quot还是给提取出来了,加段代码再判断一下算是能用。。

    public static void main(String[] args) {
        String articleContent0 = "![](&quot;https://aaa.xxxx.com/img/202102251014322w18GCEXUGr9WWVXDnUJWo.jpg)<br/>";
        String articleContent1 = "<section data-bgopacity=\"30%\" style=\"width: 100%; height: 35px; background-image: url('http://rdn.135editor.com/cache/remote/aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9wbmcvZmdua3hmR25ua1MzcTdrY3FXU0lnS3lTY0NCaWJqaWFzRzhQQjdRZFkxTkIxdlR3N1pZVHFUVm5Fc0VPZzJYc2xMQ3BkYlpGVllRYXk3aGFveGRkNWljMFEvMD93eF9mbXQ9cG5n'); background-repeat: repeat-x; background-color: rgba(254, 236, 175, 0.701961); color: rgb(172, 133, 2);\" data-width=\"100%\">";
        String articleContent = "<section style=\"margin: 1px auto;-webkit-border-image: url(&quot;http://image2.135editor.com/cache/remote/aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9wbmcvaWFucTAzVVVXR21KRTE4Q0Y1amE5REt3WU5yRWFNZjNUdmljNmh4ZWliQXVLUEo3aWJHSTV3M3hpYU9DWXBiUm4yTENHcjRhYlJHazZEcUZ3dTlIRU5GVW9Tdy8wP3d4X2ZtdD1wbmc=&quot;) 27 36 1 30 fill stretch;border-width: 11px 6px 3px 13px;border-style: solid;padding: 5px 10px;\">";
        String temp = "<section class=\"_135editor\" data-tools=\"135编辑器\" data-id=\"88290\" style=\"border: 0px none; padding: 0px; position: relative;\"><section class=\"135bg\" style=\"padding: 20px;margin:0 auto;background-image: url(http://image3.135editor.com/cache/remote/aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9qcGcvY1pWMmhScHVBUGpUTFFZbHJrZmlhUlRYVTQxTkJGcEM4dThJYUdmT3dCeHdNWkdSTUlpY3JVNm5MTDVyRjRZMkFBMDNpYkVsUjVURkZQYzNuTE5xbHVkaWNBLzA/d3hfZm10PWpwZWc=); background-size: cover; \"><section style=\"padding:5px;\" class=\"135brush\" data-style=\"text-align:left; line-height: 2em;color:#666;\"><p style=\"text-align: left; color: rgb(102, 102, 102); line-height: normal;\"><span style=\"color: #595959; font-size: 14px;\">       揉腹保健法又称为“内壮法”,即通过一整套简单有序的轻柔按摩方法,使内脏元气汇聚,气血运行通畅,而达到“内气强壮”的目的。</span><br/></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">       实践表明,这种“揉腹”的方法非常神妙,操作简便,又治大病。此外,“仙人揉腹”是在睡觉前、起床前进行,既不花钱,也不费什么气力,很容易坚持。有病者治病,无病者保健。</span></p></section></section></section><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><strong><span style=\"font-size: 16px; color: #374AAE;\">一、仙人揉腹法之操作练习</span></strong><br/></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\">预备势</span></strong></span><wbr/></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">在保暖的前提下,脱衣松裤,正身仰卧在床上,最好能够枕在矮枕上,全身放松,凝神静虑,调匀呼吸,舌抵上腭,意守丹田。</span></p><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\">第一式:按摩心窝部。</span></strong></span></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">两手缓缓上提,在胸前两手中三指(食指、中指、无名指)对接并按在心窝部位(即胸骨下缘下柔软的部位,俗称心口窝),由右→上→左→下按顺时针方向做圆周运动,按摩21次。<br/></span></p><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><strong><span style=\"font-size: 14px; color: #3F3F3F;\">第二式:回环按摩腹中线及腹两侧。</span></strong></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">两手中三指对接,由心窝顺摩而下,即一边顺时针转动按摩一边往下移,移至脐下耻骨联合处(即小腹下部毛际处),然后两手向左右分开,一边按摩(左逆时针右顺时针)一边向上走,回到心窝处,两手交接而止。循环做21次。</span></p><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\">第三式:推按腹中线部位。</span></strong></span></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">两手中三指相接,由心窝腹中线部位推下,直推至耻骨联合处,共21次。</span></p><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px; color: #3F3F3F;\">第四式:右手绕脐腹按摩。</span></strong></span></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">以右手手掌由右→上→左→下按顺时针方向围绕肚脐摩腹21次。<br/></span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\"><br/></span></strong></span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px; color: #3F3F3F;\">第五式:左手绕脐腹按摩。</span></strong></span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">以左手手掌由左→上→右→下按逆时针方向围绕肚脐摩腹21次。与第四式反向。</span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\"><br/></span></strong></span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px; color: #3F3F3F;\">第六式:推按左侧胸腹。</span></strong></span></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">左手做叉腰状,置左胁下腰肾处,大指向前,四指托后,轻轻捏住;右手中三指按在左乳下方部位,然后以此为起点,直推至左侧腹股沟(俗称大腿根)处,连续推按21次。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\"><br/></span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\">第七式:推按右侧胸腹。</span></strong></span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">右手做叉腰状,置右胁下腰肾处,大指向前,四指托后,轻轻捏住;左手中三指按在右乳下方部位,然后以此为起点,直推至右侧腹股沟(俗称大腿根)处,连续推按21次。与第六式反向。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\"><br/></span></p><p style=\"line-height: normal;\"><span style=\"color: #3F3F3F;\"><strong><span style=\"font-size: 14px;\">第八式:盘坐摇转。</span></strong></span></p><p>![]()</p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">改为盘坐势,两手拇指在里,四指收拢,握捏成拳(道家称为“握固”),分别轻按两膝上,全身放松,足趾微向下屈。上身微往下俯,进行缓缓摇动。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">先自左→前→右→后按顺时针方向摇转21次;然后自右→前→左→后做逆时针方向摇转21次。摇转的幅度宜大,如摇转向左时,应将胸肩摇出左膝;摇转向前时,宜将上身摇伏膝上;摇转向右时,应将胸肩摇出右膝;摇转向后时,上身宜尽量往后倒。摇转以舒适为妙,不可心躁图速,着意急摇。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">练习次序:将一至七式依次做完为一遍,每次连做2~3遍。做完后,起身盘坐,按第八式摇转,左右各21次。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\"><br/></span></p><p style=\"line-height: normal;\"><strong><span style=\"color: #374AAE; font-size: 16px;\">二、仙人揉腹法的注意事项: </span></strong><wbr/><wbr/><wbr/></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">①练功前一般要求解开衣裤,以直接揉摩为宜。姿势第一至第七节,以正身仰卧为主。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">②揉腹时必须凝神静虑,动作轻松、柔软、缓慢,不能用拙力,保持呼吸匀畅,切忌闭气着力。摇转上身时不可过快过急,练功后应自感轻松舒适、无疲劳感为度。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">③初练功者早晚各做一次,不可间断,只要持之以恒,必见成效。每次如认真作,大约需要三十分钟,越慢越好。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">④练功期间,由于胃肠臑动增强等生理功能的变化,常会出现腹内作响(肠鸣音)、嗳气、腹中温热或易饥饿等现象,这属正常的练功效应,可顺其自然,无须作任何处理。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">⑤凡腹内患有恶性肿瘤、内脏出血、腹壁感染及妇女妊娠期间,均不宜练此功。</span></p><p style=\"line-height: normal;\"><br/></p><p style=\"line-height: normal;\"><span style=\"font-size: 16px; color: #374AAE;\">三、揉腹效验: </span><wbr/><wbr/><wbr/></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">①腹部温热:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">一般认真作到第二到三遍时会感到腹部温暖。这是内气汇聚的表现。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">②胃肠蠕动有声:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">坚持揉腹,动作熟练后慢慢每次都会出现胃肠蠕动的感觉,有时甚至别人也能听到你肚子“汩汩”的声音。这是内气汇聚后运行通畅的表现。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">③头脑清爽愉快:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">认真做完揉腹保健法,会感到明显的头脑轻松,疲劳感一下子消失。因为揉腹可以使中焦气健运,清气上升,头脑轻松。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">④排除宿便:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">揉腹后可能出现大便黑臭,或者拉肚子、肚子疼等表现。这是内气汇聚攻冲宿疾、排出胃肠毒素的表现。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">⑤食欲改善:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">胃口变好,消化吸收功能增强。身体瘦弱者体重会增加;虚胖者身体会变得结实,肚子赘肉消失,腹部有弹性。这是元气汇聚充沛的表现。</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">⑥面色光润,身体健壮:</span></p><p style=\"line-height: normal;\"><span style=\"font-size: 14px; color: #595959;\">坚持锻炼揉腹,面色会变得越来越光彩,皮肤细嫩,身体强壮。因为长期揉腹可以使内脏血运丰富,内分泌协调,内脏元气充盛自然面色红润,身体强壮。</span></p><p style=\"line-height: normal; text-align: right;\"><span style=\"font-size: 12px; color: #595959;\">以上内容来源于网络。</span></p>";
    
        String regEx_img = "((ht|f)tps?):\\/\\/(.*?)(\\)|&quot|'|\")"; //图片链接地址
        Pattern p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
        Matcher m_image = p_image.matcher(temp);
        while(m_image.find()) {
            String img = m_image.group();
            img = img.replaceAll("'", "").replaceAll("\"", "").replaceAll("&quot;", "").replaceAll("&quot", "");
            if(img.lastIndexOf(")") > 0) {
                img = img.substring(0, img.lastIndexOf(")"));
            }
            System.out.println(img);
        }
    }

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • java怎么用正则表达式提取出html代码中

    java怎么用正则表达式提取出html代码中

  • vue打包npm run build打包图片发生erro

    vue打包npm run build打包图片发生erro

  • linux 脚本 一个

    linux 脚本 一个

  • 在electron-vue中使用puppeteer await

    在electron-vue中使用puppeteer await

腾讯云代理商
海外云服务器