我们正在寻找满足以下条件的RegExp:
我们目前有这样的事情:
^[A-Za-z0-9]{3}[\\sA-Za-z0-9]{0,16}[A-Za-z0-9]$
但上面的Reg Exp接受的最小长度为4个字符,而不是3.我主要面临将长度限制在3到20之间的问题,同时要求前3个字符必须是字母数字。
答案 0 :(得分:1)
您可以使用:
(?i)^[a-z0-9]{3}(?:[a-z0-9 ]{0,16}[a-z0-9])?$
您可以在this demo中进行测试。
(?i)
使其不区分大小写^
锚点断言我们位于字符串的开头[a-z0-9]{3}
匹配前三个字符?
),我们匹配... [a-z0-9 ]{0,16}
0到16个字母或空格,然后是一个alphanum [a-z0-9]
$
锚点断言我们位于字符串的末尾答案 1 :(得分:1)
怎么样?
^[A-Za-z0-9]{3}([\\sA-Za-z0-9]{0,16}[A-Za-z0-9])?$
只需使3个主要字符之外的所有内容都可选。
答案 2 :(得分:0)
答案 3 :(得分:0)
^[A-Za-z0-9]{3}[\sA-za-z0-9]{0,17}(?<!\s)$
(?<!\s)$
:负面的背后 - 所以$
字符前面没有\s
,即最后没有space
(允许多个)字符之间的空格)
- &GT; DEMO