java中怎么用正则截取html中的全部<td ... >....<⼀td>

2025-03-04 21:18:02
推荐回答(2个)
回答1:

.*?
//看看这个吧,可能没那么完善,但应该足以应付大多数情况。

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TdMatcher {
public static void main(String[] args) {
String html = "";
html += "";
html += "";
html += "";
html += "";
html += "";
html += "";
html += "
messagemessage2message3
";
String[] matcher = matcher(html);
for (int i = 0; i < matcher.length; i++) {
System.out.println(matcher[i]);
}
}

private static String[] matcher(String html) {
Pattern pattern = Pattern.compile(".*?");
Matcher matcher = pattern.matcher(html);
List list = new ArrayList();
while (matcher.find()) {
list.add(matcher.group());
}
return list.toArray(new String[0]);
}
}

回答2:

// 这是你的HTML内容
String str = "abcdef";
// 这是正则表达式
String p = "(]*>[^<]*)";
Pattern pt = Pattern.compile(p);
Matcher m = pt.matcher(str);
while (m.find())
{
// 输出匹配的内容
System.out.println(m.group(1));
}