我在c#中写验证正则表达式 - 基本上需要确保属性中没有“:”。我是正则表达式的newbee。这是我有什么,它似乎并没有工作。我读初学者的常见问题正则表达式,这就是我想出了"[^:]"
如何确保字符串不包含冒号使用正则表达式?
[StringLengthVerifier(MaxValue = 25, IsRequired = true, ErrorMessageResourceName = "MEMUser_UserName")]
[RegexVerifier("User Name", @"[^:]", ErrorMessage = "User name cannot contain colons")]
public string UserName { get; set; }
不确定你的意思是开始/结束。我不允许:在字符串中的任何地方 – katit 2012-02-13 23:50:23
通过说“只有匹配如果字符串有模式:字符串的开始后跟任意数量的非冒号字符后跟字符串的结尾”,您基本上最终的逻辑等同于“不包含冒号”(这是你想要的)。 – Regexident 2012-02-13 23:53:06
Katit,在你原来没有*的情况下,只会匹配一个字符,所以你希望它重复。在上面的帖子的开头和结尾的^ $告诉正则表达式匹配在行开头 - 重复,并确保在文本中找不到冒号直到行尾 – 2012-02-13 23:54:39