HDFS/S3等分布式文件系统过滤路径时正则表达式写法

By | 2019年5月16日

Hadoop支持的一系列通配符与Unix bash相同:

通配符 名称
匹配
* 星号 匹配0或多个字符
? 问号 匹配单一字符
[ab] 字符类别
匹配{a,b}中的一个字符
[^ab] 非字符类别
匹配不是{a,b}中的一个字符
[a-b] 字符范围
匹配一个在{a,b}范围内的 字符(包括ab),a在字典 顺序上要小于或等于b
[^a-b] 非字符范围
匹配一个不在{a,b}范围内 的字符(包括ab),a在字 典顺序上要小于或等于b
{a,b} 或选择
匹配包含a或b中的一个的语句

\c 转义字符
匹配元字符c

通配符 扩展

/*

/2007/2008

/*/*

/2007/12 /2008/01

/*/12/*

/2007/12/30 /2007/12/31

/200?

/2007 /2008

/200[78]

/2007 /2008

/200[7-8]

/2007 /2008

/200[^01234569]

/2007 /2008

/*/*/{31,01}

/2007/12/31 /2008/01/01

/*/*/3{0,1}

/2007/12/30 /2007/12/31

/*/{12/31,01/01}

/2007/12/31 /2008/01/01


发表评论