Java正则表达式去掉style="***"

从使用正则表达式学习正则表达式。

从网页获取的自己关心的内容后,有些标签会有内联样式,例如

<span style="font-size:16px;font-family:'Microsoft YaHei';">

如何只要span而不要style

<span>

其他的div什么的都一样。

这个样式是包含(前面有个空格) style=”中间任意多个字符串后面一个”。

来看正则表达式的写法

String regEx = " style=\"(.*?)\"";

使用到的正则规则

字符说明
(pattern)匹配 pattern 并捕获该匹配的子表达式。若要匹配括号字符 ( ),请转义。
.匹配除”\r\n”之外的任何单个字符。若要匹配包括”\r\n”在内的任意字符,请使用诸如”[\s\S]”之类的模式。
*零次或多次匹配前面的字符或子表达式。例如,zo* 匹配”z”和”zoo”。* 等效于 {0,}。
?零次或一次匹配前面的字符或子表达式。例如,”do(es)?”匹配”do”或”does”中的”do”。? 等效于 {0,1}。

结果

这里写图片描述

关键代码

    String content = "带有html标签的内容";
    // 正则表达式
    String regEx = " style=\"(.*?)\"";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher(content);
    String okContent = null;
    if (m.find()) {
        okContent = m.replaceAll("");
    }
    System.out.println(okContent);
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 酷酷鲨 设计师:CSDN官方博客 返回首页