You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

wget使用--accept-regex无法匹配URL中&符号该如何解决?

问题核心原因

wget的--accept-regex使用POSIX扩展正则语法,要求完全匹配完整的请求URL(而非匹配子串),同时你混淆了HTML转义符和实际URL的字符:HTML源码里的&是&的转义写法,wget解析页面链接时会自动还原为&作为实际请求的URL参数分隔符,不需要匹配&。

正确写法

你只需要给正则前后加通配符.*适配完整URL,用单引号包裹正则避免shell转义即可,参考完整命令:

wget --limit-rate=100k -m -nH -np -p -E -k -l 4 --accept-regex '.*pagingSize=50&sorting=price_desc.*' -r https://www.website.com/foo/bar

如果担心&的转义冲突,也可以用字符集写法规避风险:

--accept-regex '.*pagingSize=50[&]sorting=price_desc.*'
之前写法失效的原因
  • 所有正则都没有加前后.*,无法匹配完整URL(wget要求全匹配,不能只匹配中间的参数部分)
  • 错误使用&作为匹配目标,实际请求的URL里不存在该字符串
  • 部分写法没有用单引号包裹正则,导致&被shell识别为后台执行符号,参数传递到wget时已经损坏

内容的提问来源于stack exchange,提问作者Ahmet Said Akbulut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:24:04