[英]Regex to match either 2 or 3 words, but not 1 word
我目前正在使用以下正則表達式來檢查輸入的是2還是3個單詞。 單詞不應包含任何數值。
^\s*([a-zA-Z]+\s*){2,3}$
但是,這允許在不允許的情況下允許輸入“ Tommy”(1個字)。
謝謝
您可以使用此正則表達式來匹配2或3個單詞,這些單詞之間用水平空格隔開:
^\h*[a-zA-Z]+\h+[a-zA-Z]+(?:\h+[a-zA-Z]+)?$
您還可以使用split
功能並檢查長度:
String[] words = input.split("\\h+"):
if (words.length == 2 || words.length == 3) {
// 2 or 3 words found
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.