正则表达式只匹配两个特定的单词,例如是还是不是

标签 regex

我的尝试是:

^Yes|^No|^$ 

但是当我使用这个时,除了"is"和“否”之外的其他单词都被匹配

我如何解决它?

我一直在使用this online regex tester测试我的正则表达式。

最佳答案

试试这个:

^(?:Yes|No)$

在VBScript中,如下所示:
Dim myRegExp, FoundMatch
Set myRegExp = New RegExp
myRegExp.Pattern = "^(?:Yes|No)$"
FoundMatch = myRegExp.Test(SubjectString)

出什么问题了?

您有以下三种选择:
  • ^Yes与字符串开头的Yes匹配,但也将与Yes中的Yes, man...匹配
  • ^No与字符串开头的No匹配,但也将与No中的No way!匹配
  • ^$与空字符串
  • 匹配

    关于正则表达式只匹配两个特定的单词,例如是还是不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24445716/

    相关文章:

    json - 正则表达式删除 JSON 字符串中的空格

    javascript - 我如何检查子字符串是否与正则表达式匹配?

    sql - 正则表达式类似于 Hive 上的电话号码,没有前缀 (+01)

    regex - 如何快速从文本中提取所有电子邮件地址

    objective-c - [NSRegularExpression stringByReplacingMatchesInString] 的意外行为

    python - Pyspark 在另一列中的一列中查找模式

    javascript - 电子邮件验证正则表达式在连字符上失败

    R grep 使用向量中的元素的正则表达式

    regex - Sed 用文件内容替换模式

    c# - 如何使用正则表达式查找 RGB 中两个连续的重复字符?