35

我想使用正则表达式来匹配正好 2 个字符的字符串,并且这两个字符都必须介于 0 和 9 之间。当 ASP.NET MVC 时,要匹配的字符串将来自单行文本输入字段视图被渲染

到目前为止,我有正则表达式

[0-9]{2}

并从以下示例字符串输入列表中

  • 456
  • 55 44
  • 12

当我应用正则表达式时,将返回以下匹配项

  • 45
  • 55
    44
  • 12

所以,我有一半的解决方案....我真正想要强制的是字符串也正好是 2 个字符长,所以从字符串列表中,唯一应该匹配的是

12

我是一名公认的正则表达式业余爱好者,我只是使用它来验证 ASP.NET MVC 模型上的卡发行号,如下所示......

[Required]
[RegularExpression("[0-9]{2}")]
public string IssueNumber { get; set; }

我确定我要问的内容非常简单,但我找不到任何限制长度作为匹配的一部分的示例。

提前致谢。

4

3 回答 3

64

您可以使用线指示符的开始 ( ^) 和结束 ( ):$

^[0-9]{2}$

某些语言还具有允许您匹配整个字符串的函数,就像您使用find函数一样。匹配整个字符串将使您的正则表达式可以替代上述内容。上面的正则表达式也可以,但是^and$将是多余的。

于 2013-09-20T17:36:55.310 回答
13

您需要使用锚点来匹配字符串的开头和字符串^的结尾$

^[0-9]{2}$
于 2013-09-20T17:36:52.787 回答
9

像这样的东西会起作用

/^\d{2}$/
于 2017-01-25T14:02:56.313 回答