需要帮助创建一个正则表达式

时间:2011-08-18 12:09:30

标签: c# regex

我需要一个正则表达式来验证:

  • 只是数字
  • 必须以数字20
  • 开头
  • 五个数字需要为0或1
  • 七个数字需要为1,2或3

7 个答案:

答案 0 :(得分:3)

@"^20\d{2}[0-1]\d[1-3]$"

以20开头,然后是2,任何数字,然后是0或1,然后是任意数字,然后是1,2或3.如果在第7位之后需要额外的数字,则可以在\d*之前插入$ {1}}:

@"^20\d{2}[0-1]\d[1-3]\d*$"

编辑:正如CodeMonkey指出的那样,\d将在C#中解释为转义序列,因此请务必使用逐字字符串(如上所示。)

答案 1 :(得分:1)

答案 2 :(得分:0)

正则表达式:

^20\d\d[01]\d[123]\d*$

以20开头,然后是2,任何数字,然后是0或1,然后是任何数字,然后是1,2或3,那么只有数字或没有数字。

答案 3 :(得分:0)

我会选择

^20\d{2}[01]\d[1-3]\d*$

答案 4 :(得分:0)

20\d{2}[01]\d{1}[123]

可能不是很优化,但它有效:)

答案 5 :(得分:0)

20\d{2}(0|1)\d[1-3]

我认为这会起作用

答案 6 :(得分:0)

由于您使用的是C#,我建议您使用正则表达式测试器http://regexhero.net/tester/这很棒,您可以在构建表达式时看到表达式的结果突出显示。