将存储库名称与正则表达式匹配

时间:2014-09-23 07:39:18

标签: regex gitolite

我的一些存储库共享一个命名约定,因此具有相同的结尾,例如

tools2
subdirectory/tools2
subdirectory/etc/tools2

我想在我的gitolite conf文件中将这些存储库与单个正则表达式(如果可能)匹配。

@tools_repos = .*tools2

当我尝试推动此更改时,它会给我一个错误

  

致命:糟糕的扩张'。*工具'

如果我理解正确,我的模式必须是

的子集
$REPONAME_PATT        =  qr(^\@?[0-9a-zA-Z][-0-9a-zA-Z._\@/+]*$);
$REPOPATT_PATT        = qr(^\@?[[0-9a-zA-Z][-0-9a-zA-Z._\@/+\\^$|()[\]*?{},]*$);

阅读documentation我想出了这个正则表达式

[a-zA-Z0-9].*tools2

但此解决方案不匹配

tools2

是否有一种简单的方法可以将存储库与单个正则表达式进行匹配?

1 个答案:

答案 0 :(得分:1)

如果' ?'支持,您可以尝试:

 [a-zA-Z0-9]?.*?tools2
 # or
 [a-zA-Z0-9].*?t?ools2 (suggested by HamZa)

也许非贪婪的表单会允许匹配tools2。

OP prakti reports这似乎有效:

 [a-zA-Z0-9]?.*tools2