我试图写一个正则表达式来递归地匹配路径中的任何点文件。我开始时:
^[.]
但这与long/path/here/.dotfile
的情况不符。它也匹配.
本身,这是不正确的。正则表达式应与.
匹配,然后至少需要一个字符。
答案 0 :(得分:2)
^\/?(?:\w+\/)*(\.\w+)
^
- 表示字符串
的开头
\/?
- /
之前的可能性
(?:\w+\/)*
- 非捕获组,用于查找子目录路径的0-inf匹配项(例如long/path/.../
)
(\.\w+)
- 捕获组以获取以.
开头的路径末尾的任何文件
答案 1 :(得分:0)
我能想到的方式是2个正则表达式
^[\.]
匹配根目录中不以.
(?<=\/)\.
匹配与/
后跟.
匹配的所有子目录。测试用例:
.foo
foo.a
/a/.foo
/a/foo.a
/.foo/.asdafsdf