Ruby中的Extglob语法样式匹配

时间:2017-08-24 03:21:40

标签: ruby glob extglob

我想创建一个glob表达式来识别其中没有任何句号(句点)的文件名,并在Ruby代码中使用该表达式。我意识到普通的glob表达式不能这样做。但是,bash extglob有一个可以处理这个问题的语法。是否可以在Ruby中使用bash extglob样式模式,使用核心Ruby库或第三方gem?

我尝试使用File::FNM_EXTGLOB,但这不起作用。以下是测试File::FNM_EXTGLOB是否具有与bash extglob完全相同的语法的简化方案,并且似乎不是这种情况:

File.fnmatch("myfile_+[0-9].txt", "myfile_123.txt", File::FNM_EXTGLOB)

此外,File.fnmatch的{​​{3}}和English-language文档仅讨论File::FNM_EXTGLOB允许您使用两种可能性的联合,例如File.fnmatch('c{at,ub}s', 'cats', File::FNM_EXTGLOB)。< / p>

使用glob表达式的替代方法是转到正则表达式,或者可能转到Japanese-language,但如果可能的话,我宁愿不去那些路径。

1 个答案:

答案 0 :(得分:1)

您链接的文档描述了可以使用Ruby中的FNM_EXTGLOB完成的所有操作;也就是说,大括号是使用该标志时唯一的额外功能。不确定是否有任何外部库但我怀疑是否存在。

相关问题