2016-12-03 80 views
-4

我想匹配字符串「上殼體的句子」由至少3個字符的 我已經試過Java的正則表達式大寫

[A-Z\s]+{3,} 

,但它也匹配的字符串,如「A」「AB」

回答

1

你不需要+,這意味着「1或更多」,當你也把{3, }這意味着「3或更多」。這會混淆RegEx引擎,可能是您的問題。

正則表達式應該是[A-Z\s]{3,}

0

我想匹配字符串「上殼體的句子」由至少3個字符

的通過你的代碼\s我假設你想也忽略它們之間的空白。所以,看來這就是你正在尋找的正則表達式:

([A-Z]\s*){3,} 

記得剛捕獲來自捕獲組產生的group 0(所有的結果)。此外,測試它,你想在這個網上正則表達式引擎:

  1. https://regex101.com/r/F29oFj/1

,但它也匹配的字符串,如 「A」 「AB」

這並不讓意思是你的正則表達式[A-Z\s]+{3,}被破壞,因爲+運算符不能用{3,}運算符限定,即它甚至不應該編譯,所以我看不到Java正則表達式引擎可以產生這些匹配。