2015-10-18 96 views
1

我是編程Java和使用正則表達式的新手。正則表達式匹配至少包含字符和更多的單詞

我想了解更多關於正則表達式的知識,並且我有以下問題。

我想創建一個正則表達式將:

  • 比賽至少2個字符
  • 匹配多個單詞
  • 匹配任何英文字符

我已經嘗試了以下兩個正則表達式:

[a-zA-Z\\s{2,]]*|[a-zA-Z{2,}] 

[a-zA-Z\\s]*|[a-zA-Z].{2,} 

但他們不工作。任何人都可以幫助我理解如何編寫這個正則表達式?

+0

你能舉出一些你想匹配的字符串的例子嗎?從你的描述來看,聽起來像是'a'不應該匹配,但是'ab'和'ab ab'會。我是否正確理解你的目標? – WilHall

+0

是的,你理解正確。 – MrBoolean

回答

1

合併限制:僅限於英文字符(不知道這是你想要什麼,但希望它就夠了)
由至少1長度的字符串匹配2+字符序列:

regex = "^(?:\s*[a-zA-Z]{2,}\s*)+$" 

「^」:必須以
開始 「(?:...)」:組,但不捕獲
「\ S」:空白
「*」:0以上
「[... ]「:字符類別
「[a-zA-Z]」:將字符限制爲低/大寫a,b,...,y,z
「{2,」:2個或更多進程
「+」:1或更多
「$」:必須在這裏結束

相關問題