如何连接正则表达式中的特殊字符

时间:2014-04-17 06:15:15

标签: php string

我有以下声明,它使用了正则表达式

preg_split('/DELIMITER '.$delimiter.'|DELIMITER ;/', $sqlString); 并且$delimiter等于$$或//或其他双重特殊字符,但是当使用像$$这样的字符时,我们必须使用转义。在我的情况下,我想使用$delimiter作为变量。

1 个答案:

答案 0 :(得分:2)

使用preg_quote()来逃避它们:

preg_split('/DELIMITER '.preg_quote($delimiter, '/').'|DELIMITER ;/', $sqlString);

使用sprintf()的更易读的版本:

$pattern = sprintf('/DELIMITER %s|DELIMITER ;/', preg_quote($delimiter, '/'));
$result  = preg_split($pattern, $sqlString);