参考编号的正则表达式

时间:2014-01-16 17:05:58

标签: c# regex

我需要编写正则表达式以适合特定的代码模式:匹配的字符串有18个整数字符,我需要检查在第一个位置是否有0,在第二个位置是8或9.我写了这个表达,但它不起作用:

 Regex regex = new Regex(@"^(.{0}[0]{1}[8,9])(^\d{18}$)");
        string compare = "082008014385161873";
        if (regex.IsMatch(compare))
        {
            //true
        } 

任何人都可以帮助我?

2 个答案:

答案 0 :(得分:1)

使用以下正则表达式:

^0[89]\d{16}$

使用正向前瞻断言的替代方案:

^(?=0[89])\d{18}$

答案 1 :(得分:1)

试试这个正则表达式。它执行以下操作:

  • 验证第一个数字为0
  • 将第二个数字验证为8或9
  • 验证前两位数字后面还有16位数字

^0[89]\d{16}$