正则表达式错误:没有结束分隔符
我正在尝试执行此正则表达式:
<?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代码点的正确方式。
相关文章