Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何获取src url和a href html_Java_Html_Regex_Url_Src - Fatal编程技术网

Java 如何获取src url和a href html

Java 如何获取src url和a href html,java,html,regex,url,src,Java,Html,Regex,Url,Src,我有这段html代码。我想替换三个单独属性中提到的内容的链接占位符。这就是我迄今为止所尝试的: String texto2 = "url(\"primeiro url\")\n" + "url('2 url')\n" + "href=\"1 href\"\n" + "src=\"1 src\"\n" + "src='2 src'\n" + "url('3 url')\n" + "\n" + ".camera_target_conte

我有这段html代码。我想替换三个单独属性中提到的内容的链接占位符。这就是我迄今为止所尝试的:

    String texto2 = "url(\"primeiro url\")\n" +
    "url('2 url')\n" +
    "href=\"1 href\"\n" +
    "src=\"1 src\"\n" +
    "src='2 src'\n" +
    "url('3 url')\n" +
    "\n" +
    ".camera_target_content .camera_link {\n" +
    "   background: url(../images/blank.gif);\n" +
    "   display: block;\n" +
    "   height: 100%;\n" +
    "   text-decoration: none;\n" +
    "}";

    String exp = "(?:href|src)=[\"'](.+)[\"']+|(?:url)\\([\"']*(.*)[\"']*\\)";
    // expressão para pegar os links do src e do href
    Pattern pattern = Pattern.compile(exp);

    // preparando expressao
    Matcher matcher = pattern.matcher(texto2); 


    // pegando urls e guardando na lista
    while(matcher.find()) {


    System.out.println(texto2.substring(matcher.start(), matcher.end()));   
    }
        String texto2 = "url(\"primeiro url\")\n" +
    "url('2 url')\n" +
    "href=\"1 href\"\n" +
    "src=\"1 src\"\n" +
    "src='2 src'\n" +
    "url('3 url')\n" +
    "\n" +
    ".camera_target_content .camera_link {\n" +
    "   background: url(../images/blank.gif);\n" +
    "   display: block;\n" +
    "   height: 100%;\n" +
    "   text-decoration: none;\n" +
    "}";

    String exp = "(?:href|src)=[\"'](.+)[\"']+|(?:url)\\([\"']*(.*)[\"']*\\)";
    // expressão para pegar os links do src e do href
    Pattern pattern = Pattern.compile(exp);

    // preparando expressao
    Matcher matcher = pattern.matcher(texto2); 


    // pegando urls e guardando na lista
    while(matcher.find()) {


    String s = matcher.group(2);
    System.out.println(s);  


    }
到目前为止,一切都很好-它与find一起工作,我需要获得干净的链接,如下所示:

  img/image.gif
而不是:

 href = "img/image.gif"
src=“img/image.gif” url(img/image.gif)

我想用一个变量替换一个占位符;这就是我迄今为止所尝试的:

    String texto2 = "url(\"primeiro url\")\n" +
    "url('2 url')\n" +
    "href=\"1 href\"\n" +
    "src=\"1 src\"\n" +
    "src='2 src'\n" +
    "url('3 url')\n" +
    "\n" +
    ".camera_target_content .camera_link {\n" +
    "   background: url(../images/blank.gif);\n" +
    "   display: block;\n" +
    "   height: 100%;\n" +
    "   text-decoration: none;\n" +
    "}";

    String exp = "(?:href|src)=[\"'](.+)[\"']+|(?:url)\\([\"']*(.*)[\"']*\\)";
    // expressão para pegar os links do src e do href
    Pattern pattern = Pattern.compile(exp);

    // preparando expressao
    Matcher matcher = pattern.matcher(texto2); 


    // pegando urls e guardando na lista
    while(matcher.find()) {


    System.out.println(texto2.substring(matcher.start(), matcher.end()));   
    }
        String texto2 = "url(\"primeiro url\")\n" +
    "url('2 url')\n" +
    "href=\"1 href\"\n" +
    "src=\"1 src\"\n" +
    "src='2 src'\n" +
    "url('3 url')\n" +
    "\n" +
    ".camera_target_content .camera_link {\n" +
    "   background: url(../images/blank.gif);\n" +
    "   display: block;\n" +
    "   height: 100%;\n" +
    "   text-decoration: none;\n" +
    "}";

    String exp = "(?:href|src)=[\"'](.+)[\"']+|(?:url)\\([\"']*(.*)[\"']*\\)";
    // expressão para pegar os links do src e do href
    Pattern pattern = Pattern.compile(exp);

    // preparando expressao
    Matcher matcher = pattern.matcher(texto2); 


    // pegando urls e guardando na lista
    while(matcher.find()) {


    String s = matcher.group(2);
    System.out.println(s);  


    }

事实证明,这个版本不起作用。它完美地抓住了url;有人能帮我找出问题吗?

使用。将HTML字符串解析为DOM,然后可以使用CSS选择器提取值,就像在JavaScript中使用jQuery一样。请注意,这仅在您实际使用HTML时有效;示例顶部的字符串不是HTML。

“我是HTML文本,需要向他提供链接…”使用HTML解析器。否则,我在哪里找到这个html解析器?搜索引擎“java html parse”…这太完美了,谢谢