你好男孩我的正则表达式代码不起作用!
if(preg_match("#\d{1,2}(?!\d)|20#", "207")){
echo 'yes';
}else{
echo 'no';
}
答案 0 :(得分:2)
尝试以下修改代码:
if (preg_match("#\b([01]?\d|20)\b#", "207")) {
echo 'yes';
} else {
echo 'no';
}
请注意,yes
上面的代码为"20 207"
。
如果您只是匹配整个单词的数字,请使用^
和$
来分隔字符串:
if (preg_match("#^\b([01]?\d|20)\b$#", "20 207")) {
echo 'yes';
} else {
echo 'no';
}
答案 1 :(得分:0)
要验证1-20的数字范围,您可以使用:
'/\b([1-9]|1[0-9]|20)\b/'