从html文件获取某些类型的所有文件的完整路径,并使用js / jQuery将它们放入数组中
我需要通过以下方式获取路径:
level/thing.mp3
- https://thing/otherthing/thing.srt
另一方面,文件可以在html文件中的任何位置。
我尝试了一些可能性,但没有成功。
任何线索?
非常感谢!
我需要使用正确的地址获取一些文件名并将它们放入一个数组中:
myArray[0]='https://bla-bla-bla/othername.flv' myArray[1]='/level/name.mp3' myArray[2]='https://text/othertext/name.srt'
..等等
我非常接近使用正则表达式来解决它,我做了:
var str = document.getElementById("content").innerHTML; var res = str.match(/=http.*?.flv/gi);
在这种情况下,我得到摘录,但我得到了整个事情。 例如。
我需要这个:
'https://this/otherthing/thing.srt'
但我得到了这个
'more https stuff from other url ...https://this/otherthing/thing.srt even more text...'
uniques url,不是第一个http以第一个.srt结尾的巨型字符串。 我需要一条有效的道路。
因为.*
尽可能多地抓取匹配字符,所以你需要更具体地说明中间可以有什么不可以。
尝试:
var res = str.match(/https?:\/\/\S+\.flv/gi);
其中\S
尽可能多地抓取非空白字符。
要排除某些字符 ,请使用[^...]
:
var res = str.match(/https?:\/\/[^\s;]+\.flv/gi);
或者,只是让你的.*
懒惰,而不是贪婪与良好的位置?
:
var res = str.match(/http.*?\.flv/gi);