regex - 如何在 Perl 中使用正则表达式匹配子目录路径?

标签 regex perl

我想匹配像 /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/

相关文章:

regex - 如何使用 ColdFusion 从 XML 字符串中删除所有多余的空格?

javascript - 如果在获取子字符串时重复,正则表达式将忽略起始字符

python - 正则表达式匹配相同分隔符之间的多个结果

perl - 方括号在Perl中遵循以下推式语法表示什么?

perl - 如何从一个文件中检索一组两行,引用另一个文件中的第一行?

python regexp方法返回一个包含空元素的列表

php - preg_match 与数字 PHP

perl - 如何使用 Perl 的 Archive::Tar 压缩大于物理内存的文件?

mysql - 如何创建 perl 脚本来访问许多主机并更新或执行自定义作业

perl - 在 Perl 的 Test::More 中声明后如何使用参数 `tests`?