-2

目前,我有这个:

Regex folderRegex = new Regex(@"^.{8})([0-9]+)?[1-9]+([0-9]+)?$");

我需要字符串正好有 8 位数字。没有连字符或字母。我的正则表达式会这样做吗?

4

3 回答 3

8

我认为你需要一个非常简单的模式。

^\d{8}$

简短的介绍

  • 在字符串的开头断言位置^
  • 匹配单个数字 0..9\d
    • 正好8次{8}
  • 断言字符串末尾的位置(或字符串末尾的换行符之前,如果有的话)$
于 2013-08-23T03:03:45.613 回答
1

您也可以使用具有分组范围的字符类来做同样的事情。

Regex folderRegex = new Regex(@"^[0-9]{8}$");

正则表达式:

[0-9]{8}    any character of: '0' to '9' (8 times)
于 2013-08-23T03:16:13.383 回答
-1

假设从您的问题中给出的内容中您不希望您的八位数字字符串以 a 开头0,则应该这样做:

^[1-9]\d{7}$
于 2013-08-23T03:16:20.787 回答