Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何在perl glob中匹配数字_Regex_Perl_Glob - Fatal编程技术网

Regex 如何在perl glob中匹配数字

Regex 如何在perl glob中匹配数字,regex,perl,glob,Regex,Perl,Glob,这是一个有效的全局选项吗?我可以使用\d匹配目录路径中的数字吗 $dir#path应该得到“/abc/dir-#.#.#.#.#.#.#.#.#.#”存在(其中#是任何数字),否则“我的dir不存在”字符串您在标量上下文中调用了glob的两个实例(但不是作为迭代器),这是非常错误的。比如说, $dir_path = (-d ("./abc/dir-\d.\d.\d")) ? glob("./abc/dir-\d.\d.\d/my-dir*") : "my-dir-does

这是一个有效的全局选项吗?我可以使用\d匹配目录路径中的数字吗


$dir#path应该得到“/abc/dir-#.#.#.#.#.#.#.#.#.#”存在(其中#是任何数字),否则“我的dir不存在”字符串

您在标量上下文中调用了
glob
的两个实例(但不是作为迭代器),这是非常错误的。比如说,

$dir_path = (-d ("./abc/dir-\d.\d.\d")) ?
            glob("./abc/dir-\d.\d.\d/my-dir*") : "my-dir-doesnot-exists";
glob语言与regex语言完全不同<代码>\d不起作用,但
[0123456789]
会起作用

 my $foo = glob("a");
 my $bar = glob("a");
 say $foo // "[undef]";    # a
 say $bar // "[undef]";    # [undef]

1.我不想在-d中添加glob,现在就编辑代码。2.明白了,谢谢。3.我现在重新措辞了这个问题,请看它是否澄清。谢谢。好的,我知道了<代码>\d\d可以翻译成
[0123456789][0123456789]
。但是如何将
\d+
翻译成glob?@SL5net。你不能。(这将生成一个无休止的列表)好的。然后may\d{1,5}创建了一个5行的结束列表,may在@SL5net中工作,
foo\d{1,5}
将是
foo[0123456789]foo[0123456789][0123456789][0123456789][0123456789][0123456789]foo[0123456789][0123456789][0123456789][0123456789]foo[0123456789][0123456789][0123456789][0123456789][[0123456789]*
就足够了?(我错认为“那将生成一个无休止的列表”。当
{}
生成时,
[]
匹配。)
my @dir_paths = glob("./abc/dir-[0123456789].[0123456789].[0123456789]/my-dir*");

die "No match!"         if !@dir_paths;
die "Too many matches!" if @dir_paths > 1;

my $dir_path = $dir_paths[0];