正则表达式与括号不匹配

旋风200

我正在使用 Doctrine MongoDB,并且在查询构建器中有以下代码:

$regexSeller = new Regex('^'.$search['seller'], 'i');
$raw->addOr($builder->matchExpr()->field('seller')->equals($regexSeller));

它可以通过像“Bob”这样的搜索找到好的结果,但是当有像“Bob(来自芝加哥)”这样的括号时不起作用。

我想问题出在第一行,但也找不到与括号匹配的方法。

丹尼尔·米海

您必须转义查询的特殊字符。例如,更换(\()\)

在 PHP 中,您可以使用preg_quotehttps://www.php.net/manual/en/function.preg-quote.php),如下所示:

$regexSeller = new Regex('^'.preg_quote($search['seller']), 'i');

让我知道它是否有效!;)

谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章