【问题标题】:Regular Expression for recognizing the string that contains only specific words用于识别仅包含特定单词的字符串的正则表达式
【发布时间】:2015-03-23 10:08:57
【问题描述】:

我对正则表达式非常陌生。我要做的是,尝试检查输入句子是否由仅某些单词组成。

例如,对于文本格式的数字:

  • Seven Six Two是正确的
  • I have Seven Six Two balloons 无效(在本例中为 sevensixtwo 以外的其他词)。

为此,我写了一个像(Seven|Six|Two|One|Three)(\s*)这样的reg表达式 但我的正则表达式将两个输入都识别为正确。

您能否建议我如何更正正则表达式以匹配整个单词和唯一单词与特定单词列表。

【问题讨论】:

  • 为什么不搜索以下模式/Seven\sSix\sTwo/ims
  • 最好添加一些信息,例如您希望表达的语言/工具(一个 unix grep/sed/perl/awk,windows vba/C/... 常用)行为与扩展/有限的正则表达式功能不同

标签: regex


【解决方案1】:
^(?!\s*$)(?:Seven|Six|Two|One|Three| )+$

试试这个。查看演示。

https://regex101.com/r/tJ2mW5/6

【讨论】:

    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2018-07-07
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多