加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何使用正则表达式检查html文档是否包含非空的脚本标记

发布时间:2020-12-15 05:16:31 所属栏目:Java 来源:网络整理
导读:我试图检查一个 HTML文档是否包含使用正则表达式非空的脚本标记.正则表达式应该匹配任何脚本标记与除空格或换行符之外的内容. 我试过了 scriptb[^]*[^.+$]/script 但是这个正则表达式只能找到一个空格的脚本标签. 解决方法 Don’t parse HTML with regexen!
我试图检查一个 HTML文档是否包含使用正则表达式非空的脚本标记.正则表达式应该匹配任何脚本标记与除空格或换行符之外的内容.

我试过了

<scriptb[^>]*>[^.+$]</script>

但是这个正则表达式只能找到一个空格的脚本标签.

解决方法

Don’t parse HTML with regexen!说真的,在一般情况下,这几乎是不可能的.你为什么要在这里使用正则表达式?使用HTML解析器会更有意义,虽然我不能给你任何特别的建议,因为我不知道你正在使用什么语言.例如,如果您正在使用JavaScript DOM,则需要以下内容:

var scripts     = document.getElementsByTagName('script')
var numScripts  = scripts.length
var textScripts = []
for (var i = 0; i < numScripts; ++i)
  if (scripts[i].text !== '') textScripts.push(scripts[i])

这将查看HTML的结构,以确定脚本标记的属性,而不是在凌乱的文本中.

编辑1:显然,你正在使用Java.不幸的是,我对Java中的HTML解析一无所知,所以我不能给你任何建议;然而,看看,因为它是要走的路.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读