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

Php 如何在正则表达式中连接特殊字符,php,string,Php,String,我有下面使用正则表达式的语句 preg_split('/DELIMITER'.$DELIMITER'.| DELIMITER;/',$sqlString) $delimiter等于$$或//或其他双特殊字符,但当使用像$$这样的字符时,我们必须使用转义。在我的例子中,我想使用$delimiter作为变量。用于转义它们: preg_split('/DELIMITER '.preg_quote($delimiter, '/').'|DELIMITER ;/', $sqlString); 使用spr

我有下面使用正则表达式的语句

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

用于转义它们:

preg_split('/DELIMITER '.preg_quote($delimiter, '/').'|DELIMITER ;/', $sqlString);
使用
sprintf()
的可读性稍高的版本:

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