当前位置: 首页 > 编程语言 > C#

如何为RegularExpression属性添加多行选项?Share

时间:2023-04-10 10:46:47 C#

如何在RegularExpression属性上添加多行选项?我正在使用:[RegularExpression(@"^(""|[)?[a-zA-Z0-9']{1,125}(""|])?$")]来确保多行的每一行文本框匹配正确。但我不知道如何添加全局标志和多行标志选项。MVC不可能吗?我还有哪些其他选择?看起来RegularExpressionAttribute不支持传递选项,所以这里允许(编译检查但未测试):[AttributeUsage(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter,AllowMultiple=false)]公共字符串模式{得到;放;}公共RegexOptions选项{得到;放;}publicRegExAttribute(stringpattern):this(pattern,RegexOptions.None){}publicRegExAttribute(stringpattern,RegexOptionsoptions){Pattern=pattern;选项=选项;}publicoverrideboolIsValid(objectvalue){returnRegex.IsMatch(value.ToString(),Pattern,Options);您可以添加内联选项以启用多行,而无需向属性添加RegexOptions重载。这也确保表达式也能在Javascript中工作。[RegularExpression(@"(?m)^(""|[)?[a-zA-Z0-9']{1,125}(""|])?$")]这基本上就是您使用Regex的方式依赖多行标志或属性,显式定义正则表达式以允许换行,但需要遵循相同的模式。如果分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注——[RegularExpression(@"^(""|[)?[a-zA-Z0-9']{1,125}(""|])?(?:r?n(""|[)?[a-zA-Z0-9']{1,125}(""|])?)*$")]本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: