我有下面的语句,它使用regex
preg_split('/DELIMITER '.$delimiter.'|DELIMITER ;/', $sqlString);
$delimiter
等于$$或//或其他双特殊字符,但当使用$$等字符时,必须使用转义。在我的情况下,我想使用$delimiter
作为变量。
使用preg_quote()
逃离它们:
preg_split('/DELIMITER '.preg_quote($delimiter, '/').'|DELIMITER ;/', $sqlString);
使用sprintf()
:的可读性稍高的版本
$pattern = sprintf('/DELIMITER %s|DELIMITER ;/', preg_quote($delimiter, '/'));
$result = preg_split($pattern, $sqlString);