【发布时间】:2013-11-16 13:28:33
【问题描述】:
我有这段 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()));
}
到目前为止,一切都很好 - 它适用于我需要获取干净链接的 find ,如下所示:
img/image.gif
而不是:
href = "img/image.gif"
src = "img/image.gif" 网址(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()) {
String s = matcher.group(2);
System.out.println(s);
}
原来这个版本不行。它完美地抓住了网址;有人可以帮我找出问题吗?
【问题讨论】:
-
“我是一个 html 文本,需要给他链接..” 使用 HTML 解析器。否则面对this..
-
我在哪里可以找到这个 html 解析器?
-
搜索引擎'java html 解析'..
-
这非常完美,谢谢