【问题标题】:Make sure string contains only certain words with regex使用正则表达式确保字符串仅包含某些单词
【发布时间】:2012-06-23 21:49:55
【问题描述】:

我想在 Java 中使用正则表达式来验证字符串的格式是否正确。如果字符串包含的唯一单词来自指定列表,则该字符串的格式正确。一个单词可以包含大写和小写字母。字符串可以包含数字和符号。

例如,如果我的接受词列表是[foo, bar],那么字符串

foo bar! bar foo.

有效。请注意,字符串不必包含 lsit 中的每个单词。因此字符串foo有效,字符串bar有效。

类似的字符串

foo bar baz!

无效。

【问题讨论】:

    标签: java regex


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • [:space:] 和 [:punct:] 表达式叫什么?就这样我可以用谷歌搜索它们。而且你还应该在 punct 之后添加一个 \d,因为应该允许数字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 2017-07-25
    • 2020-08-25
    • 2011-02-16
    • 1970-01-01
    相关资源
    最近更新 更多