2012-06-23 99 views
1

我想驗證一個字符串在Java中使用正則表達式的格式是否正確。如果它包含的唯一字是來自指定的列表,則字符串格式正確。一個詞可以包含大寫和小寫字母。該字符串可以包含數字和符號。確保字符串只包含某些具有正則表達式的字

例如,如果我的話驗收清單[foo, bar],那麼字符串

foo bar! bar foo. 

是有效的。請注意,該字符串不必包含lsit中的每個單詞。因此字符串foo有效,字符串bar有效。

foo bar baz! 

的字符串是無效的。

回答

4

試試這個:

/^(foo|bar|[[:space:][:punct:]])+$/ 
+0

什麼[:空間:]和[:PUNCT:]表情叫什麼名字?就這樣我可以谷歌他們。而且你應該在punct之後加上\ d,因爲數字應該是允許的。 – gsingh2011

+1

這些是[POSIX字符類](http://en.wikipedia.org/wiki/Regular_expression#POSIX_character_classes) – poncha

相關問題