可能重复:
How to remove HTML tag in Java
RegEx match open tags except XHTML self-contained tags
我想删除包含其内容的特定HTML标记。
例如,如果html是:
<span style='font-family:Verdana;mso-bidi-font-family:
"Times New Roman";display:none;mso-hide:all'>contents</span>
如果标签包含“mso- *”,则必须删除整个标签(打开,关闭和内容)。
答案 0 :(得分:1)
正如Dave Newton在他的评论中指出的那样,html解析器就是这里的方法。如果你真的想要这么做,那么这是一个有效的正则表达式:
String html = "FOO<span style='font-family:Verdana;mso-bidi-font-family:"
+ "\"Times New Roman\";display:none;mso-hide:all'>contents</span>BAR";
// regex matches every opening tag that contains 'mso-' in an attribute name
// or value, the contents and the corresponding closing tag
String regex = "<(\\S+)[^>]+?mso-[^>]*>.*?</\\1>";
String replacement = "";
System.out.println(html.replaceAll(regex, replacement)); // prints FOOBAR