参见英文答案 > Warning: preg_replace(): Unknown modifier ‘]’ 3个
我正在尝试一个简单的正则表达式对PHP中的字符串.我正在尝试的正则表达式是
[A-Za-z0-9\-_]*
然而,当我在php中使用它时,我得到一个错误说:
Warning: preg_match(): Unknown modifier '*' in "C:/apache/....." on line 2
这是我的代码:
if(preg_match("[A-Za-z0-9\-_]*",'vidhu_1911')){
echo "it matched!";
}else{
echo "fail to match";
}
?>
你能告诉我我做错了吗?
谢谢,
Vidhu
解决方法:
你的正则表达式需要正则表达式分隔符
if(preg_match("/[A-Za-z0-9\-_]*/",'vidhu_1911')){
echo "it matched!";
}else{
echo "fail to match";
}
?>
在你的代码中,方括号被解释为正则表达式分隔符,结束分隔符后面的字符是正则表达式的修饰符.因此*被视为修饰符,但它不是有效的修饰符.
标签:php,regex
来源: https://codeday.me/bug/20190926/1819611.html