【发布时间】:2014-01-20 22:19:57
【问题描述】:
我是通过正则表达式查找匹配文件的方法,并且还支持正则表达式中的组。喜欢:
match_files('/home/(*)/**/(*).txt')
会返回类似:
[ ['/home/bob/docs/abc.txt', 'bob', 'abc'], ['/home/sue/archive/docs/def.txt', 'sue', 'def'] ]
Guard 会做这样的事情。我不想匹配这个特定的正则表达式;而不是匹配任何可能提供的任意正则表达式输入。
Dir.glob() 通常返回一个平面数组并且不支持组。我正在尝试为 DSL 找到支持此类事物的库或某种技术。
【问题讨论】:
-
那么你有什么尝试?我们需要看看你的尝试。
-
正如问题所暗示的,我尝试了 Dir.glob(),但结果为空。我尝试查找任何可能执行此操作的库或 API,但找不到。
-
请求定位库是题外话,但由于这个问题也要求“或一些技术”,我会投票保持开放。
-
mahemoff,我删除了我的答案(给定示例的正则表达式),因为它没有解决您的问题。您可能想知道为什么三个答案中有两个只关注您的示例。我不能代表@Blake,但是当我看到这个例子时,我的大脑进入了正则表达式模式。然后当我看到布莱克的回答时,这成为了问题。所以这是布莱克的错。 :-)
-
了解@CarySwoveland。抱歉,不清楚。我提到它是针对 DSL 的,但应该让它更明显,这只是一个例子。
标签: ruby regex file glob regex-group