我尝试使用wget和正则表达式获取特定文件。
文件是infographics.jpg和informatics.jpg
这里是命令行:
<script type="text/javascript">
if(jQuery('#soldBtn').data('clicked')) {
document.getElementById("confirmBtn").href="{%url 'laptops:sale'%}";
}
</script>
它下载它可以找到的每个jpg,而不只是下载以“i”开头的两个文件。
如果我在“i”之后添加“n”......
wget -r -nd -P test -A jpg --accept-regex '.*\/i.*.jpg'
...完美无缺,下载以“in”开头的两个文件。
但不是。我发现“/ i”表示不区分大小写。所以我尝试了不同的方法,以确保“i”被视为一个字母,而不是一个开关,如“[i]”,...没有运气。
这是一个/我的问题吗?我可以摆脱它吗?
答案 0 :(得分:1)
更可能是正则表达式的贪婪。您的匹配从开始到i
(可能存在于路径上,而不是在文件名中),然后到达.jpg
字符序列 - 不能在最后。所以你需要稍微限制正则表达式:
/i[^/]*\.jpg$
这匹配/
紧跟一个i
,然后不跳过网址的不同部分([^/]*
,仅限文件名)结束到符合网址末尾的.jpg
同样。