PHP perl衍生正则表达式问题


PHP Perl-derivative regex question

在正则表达式中,我们可以转义特殊字符,如:/'. - 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字符序列。