0

我只是想知道如何编写一个函数来获取一个字符串并去除所有不是图像 URL 的东西?

我认为最好的课程是正则表达式,但我不确定。

内容类型无关紧要,只要是扩展名为 jpg、gif 或 png 的 URL。

我确实尝试过,但无济于事。

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
4

1 回答 1

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。包含更多或包含您要查找的不同文件扩展名的语句。

于 2012-07-18T12:18:22.907 回答