我們正在尋找滿足以下條件的正則表達式:防止前後的空格用正則表達式
- 的前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