1

我想为一个项目从不同站点提取不同的 .swf 文件。不同的站点使用不同的源方法,所以我不能在我的正则表达式中使用src=data=

我可以将文件名与 匹配/[\w-]+.swf/g,但是当我尝试匹配http(.*?).swf以 http 开头的完整路径()时,它会匹配路径之前的另一个 http(代码中的第一个)。我也不能使用src=data=等,它必须只是链接。

基本上,有没有办法将匹配限制为向后搜索时找到的第一个 http?

如果有人愿意看一下,那么这里是代码: http: //pastebin.com/kT20UqqJ。这里是测试正则表达式的好地方:http ://regex.larsolavtorvik.com/

4

2 回答 2

1

尝试以下一种:

var regex = /http:[\.\/\w-%]+\.swf/g

您需要转义.else 它将匹配任意字符,并且/因为它是表达式分隔符。

您可以在此处查看工作示例

于 2013-01-22T08:41:00.013 回答
-1

如果您有 url 编码字符(如空格)%,您的 url 中也会有 a。

这是一个适用于这种情况的示例:/http:[\./\w%-]+\.swf/g

这是一个可以测试正则表达式的工具:http ://regexpal.com/

还有一个你可以检查它的性能的地方:http ://regexter.com/

于 2013-01-22T08:45:43.277 回答