相关疑难解决方法(0)

当我在Perl的匹配运算符中插入变量时,如何转义元字符?

假设我有一个包含我想要匹配的行的文件:

foo
quux
bar
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我有另一个数组:

foo
baz
quux
Run Code Online (Sandbox Code Playgroud)

假设我们遍历文件,调用每个元素$word,以及我们正在检查的内部列表,@arr.

if( grep {$_ =~ m/^$word$/i} @arr)
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但在某种可能的情况下,我们fo.在文件中有一个测试用例,它.在正则表达式中作为通配符操作符运行,fo.然后匹配foo,这是不可接受的.

这当然是因为Perl正在将变量插入到正则表达式中.

问题:

如何强制Perl按字面意思使用变量?

regex variables perl interpolation

12
推荐指数
4
解决办法
2万
查看次数

标签 统计

interpolation ×1

perl ×1

regex ×1

variables ×1