首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java regex从脚本标记中的数据中提取图像src

java regex从脚本标记中的数据中提取图像src
EN

Stack Overflow用户
提问于 2017-05-31 04:35:18
回答 2查看 2K关注 0票数 0

我需要一个java regex来提取下面code.help me中的脚本标记中的图像src。谢谢

代码语言:javascript
复制
<script language="javascript"><!--
            document.write('<a href="javascript:popupWindow(\'https://www.kitchenniche.ca/prepara-adjustable-oil-pourer-pi-5597.html?invis=0\')">
<img src="images/imagecache/prepara-adjustable-oil-pourer-1.jpg" border="0" alt="Prepara Adjustable Oil Pourer" title=" Prepara Adjustable Oil Pourer " width="170" height="175" hspace="5" vspace="5">
<br>
</a>');
--></script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-31 04:44:23

试试这个:

代码语言:javascript
复制
String mydata = "<script language='javascript'><!--document.write('<a href='javascript:popupWindow"
                + "(\'https://www.kitchenniche.ca/prepara-adjustable-oil-pourer-pi-5597.html?invis=0\')'><img "
                + "src='images/imagecache/prepara-adjustable-oil-pourer-1.jpg' border='0' alt='Prepara Adjustable Oil Pourer' "
                + "title=' Prepara Adjustable Oil Pourer ' width='170' height='175' hspace='5' vspace='5'><br></a>');</script>";
        Pattern pattern = Pattern.compile("src='(.*?)'");
        Matcher matcher = pattern.matcher(mydata);
        if (matcher.find()) {
            System.out.println(matcher.group(1));
        }
票数 0
EN

Stack Overflow用户

发布于 2017-05-31 05:03:34

只有当src位于src之后时,此正则表达式才能找到<img属性的内容。如果src不是img标记的第一个属性,那么您需要更复杂的正则表达式。

代码语言:javascript
复制
public static void main(String[] args) {

        String s = "<script language=\"javascript\"><!--\r\n"
                + "            document.write('<a href=\"javascript:popupWindow(\\'https://www.kitchenniche.ca/prepara-adjustable-oil-pourer-pi-5597.html?invis=0\\')\">\r\n"
                + "<img src=\"images/imagecache/prepara-adjustable-oil-pourer-1.jpg\" border=\"0\" alt=\"Prepara Adjustable Oil Pourer\" title=\" Prepara Adjustable Oil Pourer \" width=\"170\" height=\"175\" hspace=\"5\" vspace=\"5\">\r\n"
                + "<br>\r\n" + "</a>');\r\n" + "--></script>";

        Pattern pattern = Pattern.compile("<img src=\"([^\"]+)");
        Matcher matcher = pattern.matcher(s);
        while (matcher.find()) {
            String group = matcher.group(1);
            System.out.println(group);
        }
    }

([^\"]+)的意思是匹配除"以外的任何字符,并将匹配放入第1组。在java中,您必须转义"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44275731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档