java 正则解析html
时间: 2023-07-01 22:11:00 浏览: 99
正则解析html
使用正则表达式解析 HTML 是不推荐的,因为 HTML 是一种复杂的结构化文档,它不适合使用正则表达式进行解析。在处理 HTML 时,最好使用专门的 HTML 解析器,例如 Jsoup。
如果非要使用正则表达式解析 HTML,可以使用 Java 中的 Pattern 和 Matcher 类。以下是一个简单的示例,使用正则表达式匹配 HTML 中的所有链接:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class HtmlParser {
public static void main(String[] args) {
String html = "<html><body><a href=\"http://www.google.com\">Google</a></body></html>";
String regex = "<a\\s+href=\"([^\"]+)\">([^<]+)</a>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(html);
while (matcher.find()) {
String url = matcher.group(1);
String text = matcher.group(2);
System.out.println("URL: " + url);
System.out.println("Text: " + text);
}
}
}
```
这个示例使用正则表达式 `<a\\s+href=\"([^\"]+)\">([^<]+)</a>` 匹配 HTML 中的链接。它将链接的 URL 和文本提取出来,并打印到控制台上。
但是需要注意的是,正则表达式无法解析复杂的 HTML 结构,因此在处理 HTML 时,最好还是使用专门的解析器。
阅读全文