我们正在寻找满足以下条件的正则表达式:防止前后的空格用正则表达式
- 的前3个字符应该是不带空格的字母数字。
- 下一个字符可以是包含空格的字母数字。
- 该模式不应以空格结束。
- 长度应该是3到20个字符。
我们有这样的事情目前:
^[A-Za-z0-9]{3}[\\sA-Za-z0-9]{0,16}[A-Za-z0-9]$
但上面的注册精通接受4个字符的最小长度,而不是3。我主要是在沿着限制长度为3〜20面临的问题要求前3个字符必须是字母数字。
我们正在寻找满足以下条件的正则表达式:防止前后的空格用正则表达式
我们有这样的事情目前:
^[A-Za-z0-9]{3}[\\sA-Za-z0-9]{0,16}[A-Za-z0-9]$
但上面的注册精通接受4个字符的最小长度,而不是3。我主要是在沿着限制长度为3〜20面临的问题要求前3个字符必须是字母数字。
您可以使用此:
(?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]
$
锚声称我们在字符串的末尾那么呢?
^[A-Za-z0-9]{3}([\\sA-Za-z0-9]{0,16}[A-Za-z0-9])?$
只是超越三个主角字符任意的一切应该工作。
^[A-Za-z0-9]{3}[\sA-za-z0-9]{0,17}(?<!\s)$
(?<!\s)$
:负回顾后 - 这样的$
字符不是由\s
之前,也就是说,在年底没有space
(允许多个空格之间的字符)
- >DEMO
如果您可以分享一些样品,那将是非常好的。 – Braj
'\\ s'通常等于文字字符\(你已经逃过它)或字面字符's'。 – h2ooooooo
@ h2ooooooo我想这不是正则表达式,而是正则表达式的字符串字面值。 – sharcashmo