You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Perl技术问询:提取路径变量中logs后的目标字段

Perl提取路径中"logs"后的目标字段

针对你给出的两种路径格式,用Perl的正则表达式可以轻松提取logs之后的字段,不管路径末尾是否带有斜杠:

my $path1 = "/path/to/abc/logs/kelvin/";
my $path2 = "/path/to/abc/logs/james";

# 提取第一个路径的目标字段
if ($path1 =~ m{logs/([^/]+)}) {
    my $target_dir = $1;
    # 输出结果:kelvin
    print "提取到的字段:$target_dir\n";
}

# 提取第二个路径的目标字段
if ($path2 =~ m{logs/([^/]+)}) {
    my $target_dir = $1;
    # 输出结果:james
    print "提取到的字段:$target_dir\n";
}

正则说明

  • logs/:精准匹配路径中的固定标识logs/
  • ([^/]+):捕获一个或多个非斜杠的字符,这就是我们要提取的目标字段。不管路径末尾有没有斜杠,这个捕获组都会停在第一个后续的斜杠(或字符串结尾)前,确保拿到正确的内容。

如果你的路径中logs之后还有多层目录,但你只需要紧接logs的那一级目录,这个方法完全适用;如果需要提取logs之后的所有路径内容,可以把正则改成m{logs/(.*?)(?:/|$)},捕获组$1会返回logs之后的全部内容(不含末尾斜杠)。

内容的提问来源于stack exchange,提问作者Blurman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:45:11