检测正则表达式匹配中标量的精确字符串值

时间:2011-03-20 00:25:10

标签: regex perl

说我有$foo = "bar.baz"

我想使用标量$ foo来查找包含“bar.baz”(字符串中的任何位置)的字符串,但不是$ foo的正则表达式计算版本。

所以行:if( $other =~ m/$foo/ ) ... 不工作,因为正在评估$ foo,以便'。'被评估为任何角色。我该怎么做呢?

1 个答案:

答案 0 :(得分:10)

选择一个:

  1. $foo = quotemeta("bar.baz");
  2. if ($other =~ m/\Q$foo/)
  3. (两者实际上是同一件事,只是在不同的时间完成。)