我想匹配像 /this/is/my/dir/name/anything
这样的路径,但不匹配 /this/is/my/dir/name/anything/anything2
。换句话说,我想匹配 ``/this/is/my/dir/name/` 下第一层的所有文件和子目录,但不匹配较低层的任何内容。
最佳答案
您可以使用 File::Basename
中的 dirname
函数:
dirname($path) eq '/this/is/my/dir/name' or warn "No match";
UPD:如果您更喜欢使用正则表达式:
my $dirname = '/this/is/my/dir/name';
$path =~ m|^$dirname/[^/]+/?$| or warn "No match";
关于regex - 如何在 Perl 中使用正则表达式匹配子目录路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3694672/