Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用正则表达式(Java)删除html标记_Java_Regex_String_Parsing_Replaceall - Fatal编程技术网

使用正则表达式(Java)删除html标记

使用正则表达式(Java)删除html标记,java,regex,string,parsing,replaceall,Java,Regex,String,Parsing,Replaceall,假设我已将html输入读入字符串,然后执行以下操作: content = content.replaceAll("<[^>]*[^\\s>][^>]*>", ""); content=content.replaceAll(“]*[^\\s>][^>]*>”,“”); 现在,这将删除所有html标记,但看起来像: <> 及 但我也希望在例外列表中包含包含不可打印字符的标记。 我是否可以通过修改所有常规费用来实现这一点?如果是,

假设我已将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}>]+>