eck*_*kes 1 regex arrays perl grep
我想检查perl数组是否提供某个值.
如何检查Perl数组是否包含特定值?告诉我,我可以grep( /^$value$/, @array )用来检查是否$value已经包含在内@array.
只要$value没有特殊字符,这就可以工作.不幸的是,我的数组元素是视觉工作室项目的路径,看起来像$(MY_USER_MACRO)/includes/myfile.h这些元素,grep( /^$value$/, @array )总是返回,false尽管已经存在许多这样的条目@array.
我认为问题出现是因为其中$value包含了$字符,因此以某种方式打破了grep执行.
有没有办法告诉我grep从字面上理解给定的字符串?如果不是:我怎么能解决我的问题呢?
引用你的正则表达式:
grep( /^\Q$value\E$/, @array )
Run Code Online (Sandbox Code Playgroud)
您也可以这样做,因为您正在测试平等:
grep( $_ eq $value, @array )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |