正则表达式错误:没有结束分隔符

2022-03-29 00:00:00 php preg-match

我正在尝试执行此正则表达式:

<?php
    preg_match("/^([^x00-x1F]+?){0,1}/", 'test string');
?>

但不断收到错误:

Warning: preg_match() [function.preg-match]: No ending delimiter '/' found in /var/www/preg.php on line 6

我不明白它是从哪里来的。我这里有个结尾分隔符。我尝试将分隔符更改为其他符号,但无济于事。

感谢您在这个问题上的帮助。


解决方案

Gumbo所说,preg_match不是二进制安全的。

改为使用:

preg_match("/^([^\x{00}-\x{1F}]+?){0,1}/", 'test string'));

这是在PCRE中指定Unicode代码点的正确方式。

相关文章