3

嗨,我想匹配一个字符串: "\par hello \par world"

反对我的正则表达式模式->\\par

但是,我得到一个Compilation failed: unknown property name after \P or \p

我相信我的正则表达式规则被视为 unicode 字符属性。我如何逃避它并按原样运行模式?

我将它包含在这样的 PDO 函数中。

function sqlite_regExp($sql,$db)
{
    if($db->sqliteCreateFunction("regexp", "preg_match", 2) === FALSE) exit("Failed creating function!");
    if($res = $db->query($sql)->fetchAll()){ return $res; }
    else return false;
}

我这样调用函数

sqlite_regExp("SELECT COUNT(*) FROM table WHERE REGEXP('/\\par/',column) ",$db)
4

1 回答 1

6

你需要 3 个反斜杠\\\。检查这个例子:

$string = "\par hello \par world";
$pattern = '/\\\par/';
preg_match_all($pattern, $string, $matches);

var_dump($matches);

您可以在PHP 手册中找到更多信息

您已经更新了问题,我看到您没有使用preg_match您正在使用 SQLREGEXP函数。但是,SQL 函数也应该可以使用\\\

于 2013-08-19T16:57:24.040 回答