【发布时间】:2012-10-25 20:24:23
【问题描述】:
我正在尝试从通过 CFHTTP 请求收到的 HTML 内容中提取 javascript 代码。
我有一个简单的正则表达式,只要标签之间的代码中没有换行符,它就可以捕获所有内容。
var result=REMatch("<script[^>]*>(.*?)</script>",html);
这将捕获:
<script>testtesttest</script<
但不是
<script>
testtest
</script>
我曾尝试将 (?m) 用于多行,但它不起作用。 我正在使用reference 来解决这个问题,但我只是没有使用正则表达式。
请注意,脚本标签之间通常会有 javascript,而不是简单的文本,还有像 {}();:-_ 等字符。
谁能帮帮我?
干杯
[[更新]] 谢谢大家,我会尝试解决方案。我喜欢正则表达式,因为但我也会研究 HTML Parser。
【问题讨论】:
-
使用适当的 HTML 解析器可能比 RegEx 更好:bennadel.com/blog/… | bennadel.com/blog/…。这只是喜剧价值值得一读:stackoverflow.com/a/1732454/419 :)
标签: regex coldfusion