我试图检查一个HTML文档是否包含使用正则表达式非空的脚本标记.正则表达式应该匹配任何脚本标记与除空格或换行符之外的内容.
我试过了
<script\b[^>]*>[^.+$]</script>
Run Code Online (Sandbox Code Playgroud)
但是这个正则表达式只能找到一个空格的脚本标签.
不要用regexen解析HTML! 说真的,在一般情况下,这几乎是不可能的.你为什么要在这里使用正则表达式?使用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])
Run Code Online (Sandbox Code Playgroud)
这将查看HTML 的结构以确定脚本标记的属性,而不是在杂乱的文本中.
编辑1:显然,你正在使用Java.不幸的是,我对Java中的HTML解析一无所知,所以我不能给你任何建议; 然而,看看,因为它是要走的路.