使用经典ASP中的Regex从数据中剥离图像URL

时间:2012-07-18 11:32:59

标签: regex asp-classic

我只是想知道如何编写一个带字符串的函数并删除所有不是图像URL的函数?

我认为最好的课程是regEx,但我不确定。

内容类型无关紧要,只需要是一个扩展名为jpg,gif或png的网址。

我确实有所作为,但无济于事。

Function RegExResults(strTarget, strPattern)

    Set regEx = New RegExp
    regEx.Pattern = strPattern
    regEx.Global = true
    Set RegExResults = regEx.Execute(strTarget)
    Set regEx = Nothing

End Function

Set arrResults = RegExResults(data, "(http://)([a-zA-Z0-9\/\.])*")

For each result in arrResults
    Response.Write(result.Submatches(0)) & "<br>"
Next

Set arrResults = Nothing

1 个答案:

答案 0 :(得分:0)

正如许多人之前在其他问题中提到的,在一个文本块中处理正则表达式和URL时,通过正则表达式几乎不可能100%准确地完成。请查看Regex Guru上的这篇文章,以便更好地了解原因。鉴于您提供的细节有限,他的解决方案可能是在这种情况下使用的最佳解决方案。您需要修改结尾以确保只通过在正则表达式中指定正确的扩展名来获取图像文件(如果这就是您要查找的内容)。

\b(?:(?:https?|ftp|file)://|www\.|ftp\.)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])(?:\.jpg|\.png|ETC.)

这是使用链接中找到的正则表达式,只需替换ETC.包含更多或包含您要查找的不同文件扩展名的语句。