正则表达式匹配"真"或"假"

Vig*_*r A 7 regex vb.net asp.net validation

我需要创建正则表达式验证器,它需要匹配文本"True"或"False"(Case Insensitive).

我试过以下正则表达式

^(True|False|TRUE|FALSE)$
Run Code Online (Sandbox Code Playgroud)

它是否正确?但是Case Sensitive存在问题.

编辑

我已经尝试了正则表达式以下答案,但它没有解雇,因为 ?i

Sab*_*san 11

要么使用 RegexOptions.IgnoreCase

或内联?i修饰符

^(?i)(true|false)$
Run Code Online (Sandbox Code Playgroud)


zx8*_*x81 5

通过一个小的优化:

^(?:tru|fals)e$
Run Code Online (Sandbox Code Playgroud)

由于 (?i) 未验证,我们将在代码中设置不区分大小写。

对于需要代码的任何未来读者:

Dim FoundMatch As Boolean
Try
    FoundMatch = Regex.IsMatch(SubjectString, "^(?:tru|fals)e$", RegexOptions.IgnoreCase)
Catch ex As ArgumentException
    'Syntax error in the regular expression
End Try
Run Code Online (Sandbox Code Playgroud)


Vig*_*r A 5

我已经检查了这篇文章中的所有答案,但没有按预期工作.

?iAsp.Net RegularExpression验证器不支持我猜.

最后我使用了以下正则表达式.

^([Tt][Rr][Uu][Ee]|[Ff][Aa][Ll][Ss][Ee])$
Run Code Online (Sandbox Code Playgroud)

它按预期工作.

此正则表达式将用于动态创建的Asp.net RegularExpressionvalidator.