量词{x,y}什么都没有

时间:2018-04-02 18:37:14

标签: c# unit-testing

当我尝试在我的程序中验证电子邮件和电话号码时,我有这样的例外。

错误:正则表达式写得正确,我不知道问题在哪里。

我阅读了上一篇文章但我的案例中的任何工作。

  

消息:System.ArgumentException:解析' {2} [0-9] - {3} [0-9]' - 量词{x,y}无效。

public class Order
{
    public string EmailValidationPattern = "{2}[0-9]-{3}[0-9]";

    public string ZipCode { get; set; }
    public string PhoneNumber { get; set; }

    private void SetZipCode(string zipCode)
    {
        if (Regex.Match(zipCode, EmailValidationPattern).Success)
        {
            ZipCode = zipCode;
        }
    }

    private void SetPhoneNumber(string number)
    {
        if (Regex.Match(number, @"^(\+[0-9]{9})$").Success)
        {
            PhoneNumber = number;
        }
    }
}

2 个答案:

答案 0 :(得分:4)

替换 {2}[0-9]-{3}[0-9][0-9]{2}-[0-9]{3}

在要匹配的表达式之后,量词来。 [0-9] {3}

此外,您可以使用http://regexstorm.net/tester

等在线测试您的表达方式

答案 1 :(得分:0)

我不完全确定您要完成的任务,但看起来您只是在寻找数字字符...

仅限数字:

Regex regex = new Regex(@"^\d$");

对于字母数字:

Regex r = new Regex("^[a-zA-Z0-9]*$");