2015-04-17 93 views
0

總計正則表達式newbie在這裏,我一直在各地試圖找到答案。我需要添加正好1個空間,隨後的字母字符(分3最多30)的字符串我有以下,但它會接受超過1個空白,這是問題:正則表達式字符串中的空格限制

^[:blank:][A-z]{3,30}$ 

任何幫助,這將是很好

+0

您是否試過'[[:blank:]]'? [將你的正則表達式存入regex101](https://regex101.com/r/aY6lD2/1)顯示posix類必須包含在字符類 –

回答

2

[A-z]也將捕獲[, \, ], ^, _, `

使用此正則表達式來允許在開始的時候正好是1個空間,然後3到30個英文字母:

^[[:blank:]][a-zA-Z]{3,30}$ 

demo

enter image description here

+0

中,爲什麼你將'[[:blank:]]'改爲可選的? –

+0

@AvinashRaj:OP不清楚「添加」的含義。你知道嗎?我讀它爲允許1空格,但在原始正則表達式嘗試中,有一個空格,並且它不工作... –

+0

'我需要添加完全1個空格,後跟一串字母字符(最小3最大30) ' –

0

要兼容Unicode:

^\p{Zs}\p{L}{3,30}$ 

\p{Zs}代表空格字符
\p{L}代表的一封信。

+0

乾杯stribizhev。完美工作。我無法弄清楚我們使用什麼樣的正則表達式(記住我是一個正午),但是你的指甲正好在頭上。先生,祝你好運! – RichardW1