regex - curl中数字范围的正则表达式
问题描述
我正在寻找从带有 curl 的网站下载一系列 png 文件。它们的编号从 b0000.png 到 b0373.png。不断收到错误消息“未找到匹配项”。
b0+\b([1-9]|[1-9][0-9]|100)\b.png
我认为它可能适用于页面 b0000 到 b0100,但这不起作用。
解决方案
在您的模式b0+\b([1-9]|[1-9][0-9]|100)\b.png
中\b
,这部分0+\b
不起作用,因为 0 和来自以下交替的另一个数字之间没有字边界。
您也可以省略这部分中的单词边界\b.png
并转义点以匹配它的字面意思。
如果您只想匹配零,您可以将 1-100 的部分设为可选,因为现在至少有一个来自预期交替的值。
可以缩短交替,使 0-9 部分可选[1-9][0-9]?
要从 to 匹配b0000.png
,b0100.png
您可以将模式更新为:
b0+(100|[1-9][0-9]?)?\.png
可以使用以下方法匹配从 0000 到 0373 的整个范围:
b0+([1-9][0-9]?|[12][0-9]{2}|3[0-6][0-9]|37[0-3])?\.png
推荐阅读
- algorithm - 迭代二项式系数的时间复杂度是多少?
- excel - 将多个 Access 数据库合并到单个 Excel 电子表格
- swift - 使用未声明的类型“DynamicLink”
- r - 我的 100000 x 200 数据矩阵如何转换为图像?
- java - Apache Arrow Plasma 客户端 - 无法连接到内存存储(UnsatisfiedLinkError)
- python - 在 Django 中建模用户到用户的连接
- python - 无法在 Python 中执行点
- python - 蟒蛇特质。在完成按钮触发之前更新属性
- javascript - javascript更新类时使用requestanimationframe有用吗?
- java - 在java中遍历tar.gz