在ConfigurationSectionDesigner验证中用分号分隔数字串的正则表达式?

时间:2018-05-30 13:25:22

标签: c# regex configurationsection

需要对带有分号HTTP状态代码的字符串应用正则表达式验证:

"202;500;503"

我试过这个正则表达式

^([0-9]+;)*[0-9]+$

但我得到一个例外:

该属性的值' retryStatusCodes'无效。错误是:该值不符合验证正则表达式字符串^([0-9]+;)*[0-9]+$

怎么可能?我在这里测试了它:https://regexr.com/

并且有效

为什么它在C#代码中不起作用?

我在ConfigurationSectionDesigner中使用它验证attrtibutes,为此属性自动生成代码:

    /// <summary>
    /// Gets or sets the RetryStatusCodes.
    /// </summary>
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ConfigurationSectionDesigner.CsdFileGenerator", "2.0.3.2")]
    [global::System.ComponentModel.DescriptionAttribute("The RetryStatusCodes.")]
    [global::System.Configuration.RegexStringValidatorAttribute("^([0-9]+;)*[0-9]+$")]
    [global::System.Configuration.ConfigurationPropertyAttribute(global::XXX.XXX.XXX.RetryStatusCodesPropertyName, IsRequired=true, IsKey=false, IsDefaultCollection=false)]
    public virtual string RetryStatusCodes
    {
        get
        {
            return ((string)(base[global::XXX.XXX.XXX.RetryStatusCodesPropertyName]));
        }
        set
        {
            base[global::XXX.XXX.XXX.RetryStatusCodesPropertyName] = value;
        }
    }

0 个答案:

没有答案