我需要使用正则表达式和JRegex删除Java脚本标记

我需要使用正则表达式和JRegex删除Java脚本标记,java,regex,Java,Regex,我需要从网页的HTML代码中删除所有Java脚本标记以及中间的内容和样式标记。到目前为止,我已经提出了以下表达式: "(<[ \r\n\t]*script([ \r\n\t>]|>){1,}([ \r\n\t]|.)*?</[ \r\n\t]*script[ \r\n\t]*>)|(<[ \r\n\t]*noscript([ \r\n\t>]|>){1,}([ \r\n\t]|.)*?</[ \r\n\t]*noscript[ \r\n\t]

我需要从网页的HTML代码中删除所有Java脚本标记以及中间的内容和样式标记。到目前为止,我已经提出了以下表达式:

"(<[ \r\n\t]*script([ \r\n\t>]|>){1,}([ \r\n\t]|.)*?</[ \r\n\t]*script[ \r\n\t]*>)|(<[ \r\n\t]*noscript([ \r\n\t>]|>){1,}([ \r\n\t]|.)*?</[ \r\n\t]*noscript[ \r\n\t]*>)|(<[ \r\n\t]*style([ \r\n\t>]|>){1,}([ \r\n\t]|.)*?</[ \r\n\t]*style[ \r\n\t]*>)"

它将永远持续下去。如果有人能给我一个建议,我将非常感激。

为什么不使用HTML解析器,只删除
节点?

为什么不使用HTML解析器,只删除
节点?

我可以解决这个问题。我使用正则表达式删除脚本标记,并使用此正则表达式删除脚本标记之间的内容:

@"<(script|SCRIPT)[^+]*?>[^>]*?<(/\script|SCRIPT)>"
@“[^>]*?”

我可以解决这个问题。我使用正则表达式删除脚本标记,并使用此正则表达式删除脚本标记之间的内容:

@"<(script|SCRIPT)[^+]*?>[^>]*?<(/\script|SCRIPT)>"
@“[^>]*?”

首先“([\r\n\t]|”)”毫无意义。用点什么的。“([\r\n\t>]|>)”也没有意义。把“>”放到外面你让我走对了,谢谢!您使用的不是JRegex,而是Java的原生正则表达式包。JRegex是在Java在JDK1.4中拥有自己的正则表达式之前创建的第三方库之一。首先,“([\r\n\t]|”)”毫无意义。用点什么的。“([\r\n\t>]|>)”也没有意义。把“>”放到外面你让我走对了,谢谢!您使用的不是JRegex,而是Java的原生正则表达式包。JRegex是在Java在JDK 1.4中拥有自己的正则表达式之前创建的第三方库之一。如果在行首键入4个空格(或选择它并键入CTRL+K),则它将其格式化为代码。如果在行首键入4个空格(或选择它并键入CTRL+K),则它将其格式化为代码。