2012-06-23 65 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

相关问题