使用正则表达式(Java)删除html标记
假设我已将html输入读入字符串,然后执行以下操作:使用正则表达式(Java)删除html标记,java,regex,string,parsing,replaceall,Java,Regex,String,Parsing,Replaceall,假设我已将html输入读入字符串,然后执行以下操作: content = content.replaceAll("<[^>]*[^\\s>][^>]*>", ""); content=content.replaceAll(“]*[^\\s>][^>]*>”,“”); 现在,这将删除所有html标记,但看起来像: <> 及 但我也希望在例外列表中包含包含不可打印字符的标记。 我是否可以通过修改所有常规费用来实现这一点?如果是,
content = content.replaceAll("<[^>]*[^\\s>][^>]*>", "");
content=content.replaceAll(“]*[^\\s>][^>]*>”,“”);
现在,这将删除所有html标记,但看起来像:
<>
及
<(任意大小的空白)>
但我也希望在例外列表中包含包含不可打印字符的标记。
我是否可以通过修改所有常规费用来实现这一点?如果是,怎么做?感谢您的意见。您可以使用以下模式:
<[^\\P{Graph}>]+>
]+>
\\p{Graph}
是一个字符类,它只包含空格和控制字符(这是对\\p{Graph}
的否定)考虑一下这个答案:然后再三考虑使用regexI解析HTML,我希望有一个自动关闭选项,所以对于所有包含“HTML”和“regex”的问题,这就结束了,但是如果我有一个像这样的标签,它将被替换。我希望标记保留在那里(因为tab不是可打印的字符)。@WizDom:如果我很了解您的需要,您希望保留空的“标记”或至少包含一个不可打印字符(空格、tab、换行符…、控制字符)的标记吗?@WizDom:在这种情况下,您可以简单地使用:]+>
这就是我要找的。非常感谢。还有一个问题,如果空格是可打印字符,我如何调整它?
<[^\\P{Graph}>]+>