我正在尝试提取字体名称,例如:
String htmlContent = "<font face=\"impact\">Hdjdjdisid <font style=\"background-color:#ff0000\"> shejej</font></font>";
至:
impact
这是我在网上找到的,但它返回所有标签的内容,而我只想要face
名称。
String pattern = "<FONT (.*?)>";
Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(htmlContent);
if (m.find()) {
// prints: <FONT FACE="Verdana" SIZE="12"> My Name is xyz </FONT></P>
System.out.println(m.group());
// prints: FACE="Verdana" SIZE="12"
System.out.println(m.group(1));
}
如何只提取人脸姓名?
最佳答案
在这个简单的例子中,调整你的模式如下:
<font[^>]+face="([^"]+)"
转义以便与 java 一起使用:
String pattern = "<font[^>]+face=\"([^\"]+)\"";
但正如其他人指出的:不要使用正则表达式解析 html。
关于java - 如何从 HTML 中提取字体标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31425884/