我想创建一个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,但如果可能的话,我宁愿不去那些路径。
答案 0 :(得分:1)
您链接的文档描述了可以使用Ruby中的FNM_EXTGLOB
完成的所有操作;也就是说,大括号是使用该标志时唯一的额外功能。不确定是否有任何外部库但我怀疑是否存在。