我想驗證一個字符串,它只包含由一個或多個空格分隔的單個字母(限於A,B,C),並且不超過3個字母。如何正則表達式用空格分隔字母?
預期結果:
A: true
A B: true
A B C: true
B C A: true
A B C D: false
A B D: false
AB C: false
也許正則表達式必須包含A\s*|B\s*|C\s*
,但還有什麼?
我想驗證一個字符串,它只包含由一個或多個空格分隔的單個字母(限於A,B,C),並且不超過3個字母。如何正則表達式用空格分隔字母?
預期結果:
A: true
A B: true
A B C: true
B C A: true
A B C D: false
A B D: false
AB C: false
也許正則表達式必須包含A\s*|B\s*|C\s*
,但還有什麼?
這一個正常工作:
^[ABC]{1}([ABC]){0,2}$
您的第一個字符,應啓動線相匹配。然後你匹配0到2個空格分隔的[A-Z]
組。沒有空白左或右(^ $)
[ABC](+[ABC])?(+[ABC])?
或
[ABC](+[ABC](+[ABC])?)?
或
[ABC](+[ABC]){0,2}
這一個看起來不錯,但它不應該是空間而不是空間? –
你可以使用一個量詞有限像這樣:
[ABC](?: +[ABC]){0,2}
應該看到\ s +爲一個或多個空格 – duffymo
他們能重複嗎?他們可以以任何順序來? –
他們可以無序; @Tim:它確實抓住了它不應該的「A C B A」。 – membersound