Select 正则表达式指定范围内的文件

Select files between specified range with regex

我有一个包含 100 个文件夹的文件夹,名称如下:

parent_folder/05/01/
parent_folder/05/02/
parent_folder/05/03/
parent_folder/05/04/
...
parent_folder/05/29/
parent_folder/05/30/

如何使用正则表达式指定一个路径,select 仅包含文件夹 01 to 10 的内容,然后是 11 to 20,最后是 21 to 30

我正在努力

"parent_folder/05/[1-10]*/*"

但它也 selects 11, 12, ...一直到 19。

编辑:我想以 10 天为间隔读取 pyspark 中的大型数据集,以及所有建议的答案,到目前为止,似乎失败了。

如果您希望将“10”与您的 01...09 集合分组,您将使用如下内容:

parent_folder\/05\/(0[1-9]|10)\/

然后,对于你的 10...20 集,

parent_folder\/05\/(1[1-9]|20)\/

等等。

您可以使用以下 link 尝试这些正则表达式:https://regex101.com/r/cXAYbS/2

在 python 中,您将需要:

regex = r"parent_folder\/05\/(1[1-9]|20)\/"

上面的link有一个"python"生成器,可以借用一些代码:

https://regex101.com/r/cXAYbS/2/codegen?language=python

这个怎么样:

parent_folder/05/(?:0[1-9]|10)/

“?:”用于非捕获组。