如何获得1-20使用正则表达式

时间:2013-12-08 18:00:03

标签: regex

你好男孩我的正则表达式代码不起作用!

if(preg_match("#\d{1,2}(?!\d)|20#", "207")){
    echo 'yes';
}else{
    echo 'no';
}

2 个答案:

答案 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/'