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

假设我有 $foo = "bar.baz"

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

所以这一行:if( $other =~ m/$foo/) ... 不起作用,因为 $foo 正在被评估为 '.'被评估为任何字符。我该如何阻止它?

最佳答案

选择一个:

  1. $foo = quotemeta("bar.baz");
  2. if ($other =~ m/\Q$foo/)

(两者实际上是同一件事,只是在不同的时间完成。)

https://stackoverflow.com/questions/5365906/

相关文章:

haskell - 将 Haskell IO 列表转换为列表类型

php - 使用正则表达式阻止某些电子邮件提供商

cuda - OpenCL (Cuda) 中的逐元素运算

macos - 关闭mac的脚本

.net - 如何在 Visual Studio 2010 的解决方案资源管理器中突出显示当前打开的

math - 两次旋转之间的误差?

delphi - 控件放在最上面,像TPanel 可以吗?

PHP - 将 time() 调整为可被 5 整除

PHP:哪个更快 - array_sum 还是 foreach?

scheme - Racket 中的gensym