Regex捕获文件名和同名文件夹
我的文件夹结构如下:Regex捕获文件名和同名文件夹,regex,phabricator,Regex,Phabricator,我的文件夹结构如下: /repo /requirements/ base.txt something.txt requirements.txt 我需要一个正则表达式来跟踪文件是否在requirements文件夹或requirements.txt文件中 我有一个@/requirements/*@跟踪requirements文件夹中的更改,但是如何查找requirements.txt 同时,我不希望它捕获/repo/apps/myapp/requirement
/repo
/requirements/
base.txt
something.txt
requirements.txt
我需要一个正则表达式来跟踪文件是否在requirements文件夹或requirements.txt文件中
我有一个@/requirements/*@
跟踪requirements文件夹中的更改,但是如何查找requirements.txt
同时,我不希望它捕获
/repo/apps/myapp/requirements/txt
您可以使用下面的正则表达式满足您的需求:
^\/repo\/requirements\/?.*?$|^\/repo\/requirements\.txt$
对上述正则表达式的解释:
^,$
-表示测试字符串的开始和结束分隔符
|
-表示替换
^\/repo\/requirements\/?*?$
-正则表达式的这一部分匹配requirements目录中的任何文件,而requirements目录又恰好位于根目录中
^\/repo\/requirements\.txt$
-regex的这一部分与requirements.txt匹配,requirements.txt位于根目录中,而不是更深
你可以在regex的
/requirements/| requirements\.txt$
@Mandy8055中找到上述正则表达式的演示,但是我不希望/repo/apps/myapp/requirements.txt
那么,除了我指出的例子之外,你的例子中的一切都是正确的。基本上,我只想在roor中使用/requirements/**和requirements.txt,但没有更深入的内容