Preg_match: select 3 到 12 之间的数字,不包括 7、9 和 11

Preg_match: select a number range between 3 and 12 excluding 7, 9 and 11

我要匹配以下条件,select一个介于312之间的数字,不包括79和[=17] =] 并且前面必须有以下运算符 ><,然后是可选的 =.

> < = 3,4,5,6,8,10,11,12 因此以下匹配为真:有或没有空格 > = 3< = 12> 2< 13 false < = 3, > = 12, > > 4, = =, = > 5。我已经尝试了以下与上面所有数字和字符匹配的代码,但是当我想限制 > < = 等一次出现时我被卡住了所以 >> 将 return 作为匹配项,我已经尝试 />{1} 但这不起作用。我是正则表达式的新手,先谢谢你了。

    $var = '>=12';
    if (preg_match("/>|<|=|[3-6]|8|10|12/", $var)) {
       echo "A match was found." . $var;
       return true;
    } else {
       echo "A match was not found." . $var;
       return false;
    }

您需要将组括在括号中,并且仅在组内使用 | 分隔符:

"/(>|<)=?([3-6]|8|10|12)/"

也可能以 ^ 为前缀并以 $ 结尾以强制执行完整的字符串匹配。