在正则表达式中,我们可以转义特殊字符,如:/'. - dot/
如果我想"转义"子字符串:/Some **esc.{2}aped** phrase/
(以匹配此模式"Some esc.{2}aped phrase"
)该怎么办?是否有这样的字符序列(取代**
)?
PHP示例。我有pattern
$pattern = "/Some unknown text {$here}: (''d+)/";
与UTF8字符串$here
。并且想用$here
替换为"as is"(忽略$here
中的特殊字符)来测试UTF8字符串$input
:
preg_match( $pattern, $input, $matches );
谢谢
如果我没看错的话,你是想在正则表达式中嵌入一个未知字符串。
您可以使用preg_quote()
:
$unknown = "Some. Text";
$regex = '/Some unknown text '.preg_quote($unknown, '/').': ('d+)/u';
另外,对于UTF-8编码的正则表达式,您可能希望使用u
修饰符来识别UTF-8字符序列。