我是regex世界的新手,我正在尝试为以下内容提供正则表达式。
用户可以按以下方式使用
...等
用户最多可以在名称中使用两个整数b / w 0-9 ...我试过跟随正则表达式...
(?:\d{0,2}+[a-zA-Z]|[a-zA-Z]+\d{0,2})|[a-zA-Z]
适用于案例1,4,5,但对其他人不适用......帮助将是明显的...... :)
答案 0 :(得分:1)
尝试使用否定模式:
$output = preg_replace( '/[^0-9]/', '', $string );
然后计算 $ output 长度,如果你有> 2那么它的格式是错误的
if (2 > preg_replace('/[^0-9]/', '', $string)) {
// ok
} else {
// not ok, more than 2 digits
}
答案 1 :(得分:1)
试试这个:
^(?:[a-zA-Z]*\d){0,2}[a-zA-Z]*$
答案 2 :(得分:0)