正则表达式拆分路径值C:\ Users\goudarsh\Desktop\Perl_test_scripts\rtl2gds

Sha*_*esh -4 regex

我需要perl正则表达式来分割以下值

  $path = 'C:\Users\goudarsh\Desktop\Perl_test_scripts\sample';
Run Code Online (Sandbox Code Playgroud)

我试过以下代码似乎不起作用

my @var = split(/\\/,$path);
        print @var;
        if(grep /rtl2gds/, @var){
            print $path;
        }
Run Code Online (Sandbox Code Playgroud)

我没有得到我做错的地方.

即使我试过跟随

 my @var = split(//\/,$path);
        print @var;
        if(grep /rtl2gds/, @var){
            print $path;
        }
Run Code Online (Sandbox Code Playgroud)

sid*_*yll 5

我建议使用,而不是依赖于手动分割 File::Spec

use File::Spec;

my ($volume, $dir, $file) = File::Spec->splitpath($path);
my @components = File::Spec->splitdir($dir);
push @components, $file;
Run Code Online (Sandbox Code Playgroud)

现在@components是您想要的阵列,具有更安全,更便携的实现.

  • @ikegami File :: Spec是一个核心模块. (3认同)