){1,}([ \r\n\t]|.)*?)|(]|>){-6ren">
gpt4 book ai didi

java - 我需要使用正则表达式和 JRegex 删除 Java Script 标签

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:27 24 4
gpt4 key购买 nike

我需要从网页的 HTML 代码中删除所有 Java Script 标签以及中间的内容和样式标签。到目前为止,我已经想出了这个表达式:

"(<[ \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]*>)"

我使用 JRegex 库来处理正则表达式。当我在任何正则表达式测试器中测试它时,它工作得很好,但是一旦我运行我的程序 - 它就会崩溃并显示以下错误报告:

Exception in thread "Thread-0" java.lang.StackOverflowError
at java.util.regex.Pattern$BranchConn.match(Unknown Source)
at java.util.regex.Pattern$BmpCharProperty.match(Unknown Source)
at java.util.regex.Pattern$Branch.match(Unknown Source)
at java.util.regex.Pattern$GroupHead.match(Unknown Source)
at java.util.regex.Pattern$LazyLoop.match(Unknown Source)
at java.util.regex.Pattern$GroupTail.match(Unknown Source)
at java.util.regex.Pattern$BranchConn.match(Unknown Source)
at java.util.regex.Pattern$CharProperty.match(Unknown Source)
at java.util.regex.Pattern$Branch.match(Unknown Source)
at java.util.regex.Pattern$GroupHead.match(Unknown Source)
at java.util.regex.Pattern$LazyLoop.match(Unknown Source)
..................................

而且它会永远持续下去。如果有人能给我这方面的建议 - 我将非常感激。

最佳答案

为什么不使用 HTML 解析器并删除 <script><style>节点?

关于java - 我需要使用正则表达式和 JRegex 删除 Java Script 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3044307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com