陷入困境
my $count=grep {/$str_check/} @arr_name ;
Run Code Online (Sandbox Code Playgroud)
什么时候
$str_check = 'C/C++'
Run Code Online (Sandbox Code Playgroud)
它抛出 Nested quantifiers in regex; marked by <-- HERE in m/'C/C++ <-- HERE '/ at acr_def_abb_use.pl line 288
我试着改成
my $count=grep {/"$str_check"/} @arr_name ;
Run Code Online (Sandbox Code Playgroud)
和
my $count=grep {/'$str_check'/} @arr_name ;
Run Code Online (Sandbox Code Playgroud)
但两者都没有奏效。任何人请帮我解决这个问题。
您需要生成与文本匹配的正则表达式模式。具体来说,你想要C/C\+\+
.
my $text = 'C/C++';
my $pat = quotemeta($text);
my $count = grep { /$pat/ } @arr_name;
Run Code Online (Sandbox Code Playgroud)
或者
my $text = 'C/C++';
my $count = grep { /\Q$text\E/ } @arr_name;
Run Code Online (Sandbox Code Playgroud)
(\E
可以省略,因为它在最后。)
归档时间: |
|
查看次数: |
4939 次 |
最近记录: |