正则表达式为6或8位数

时间:2011-09-21 01:28:39

标签: c# regex

有人可以请求下面的C#正则表达式帮助吗?

  1. 应以1开头,长度应为6位数。
  2. 应以7开头,长度应为6位数。
  3. 应该是8位数。
  4. 更新: 道歉没有澄清要求。它们是个别情况,即。我需要的是对这些特定情况的正则表达式(即总共3个)。

2 个答案:

答案 0 :(得分:10)

这是:

^((1|7)\d{5}|\d{8})$

或遵循NullUserExceptionఠ_ఠ建议:

^([17]\d{5}|\d{8})$

答案 1 :(得分:5)

不是正则表达式,现在验证正确的整数并将其保存到output

string digits = ...
bool valid;
char firstChar;
int output;

switch(digits.Length) 
{
    case 6:
        firstChar = digits[0];
        valid = firstChar == '1' || firstChar == '7';
        break;
    case 8:
        valid = true;
        break;
    default:
        valid = false;
        break;
}

if (valid && int.TryParse(digits, out output))  
{
    ...
}