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

时间:2014-06-27 06:54:23

标签: regex

我的尝试是:

^Yes|^No|^$ 

但是当我使用它时,“是”和“否”以外的词匹配

我该如何解决?

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

2 个答案:

答案 0 :(得分:10)

试试这个:

^(?: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!
  • ^$匹配空字符串

答案 1 :(得分:3)

以下正则表达式只会匹配是或否,

^(?:Yes\b|No\b)

Demo