嗨,我试图在将该字符串转换为 PHP 中的正则表达式之前连接一个字符串,但问题是它没有按预期显示。我一直在使用 google 搜索并发现了 preg_quote ,问题是它运行不佳。

这是我的例子:

$mystring = "banana"; // put this to a variable assume this value is dynamic
$regex_str = "/^"$mystring"\-[a-z0-9]\-[a-z0-9]$/";
//Im expecting expecting /^banana\-[a-z0-9]\-[a-z0-9]$/
$regex = preg_quote($regex_str);

但我得到的是:
/\^banana\\\-\[a\-z0\-9\]\\\-\[a\-z0\-9\]\$/

并且总是返回错误的值。

最佳答案

在将要添加的字符串添加到正则表达式之前,先在其上调用 preg_quote():

$mystring = "banana";
$regex_str = "/^" . preg_quote($mystring, "/") . "\-[a-z0-9]\-[a-z0-9]$/";

关于php - 使用 PHP preg_quote 时正则表达式显示不佳,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30700565/

10-13 03:20