正则表达式禁止使用逗号

Dan*_*iel 4 c# regex asp.net-mvc-3

我试图禁止输入文本框的字符串中的逗号.这是我到目前为止:

[RegularExpression (@"?[^,]*$",
        ErrorMessage = "Commas are not allowed in the subtask title. Please remove any and try again")]
Run Code Online (Sandbox Code Playgroud)

这可能是我的第5次或第6次尝试,到目前为止没有任何效果.任何帮助,将不胜感激.

Kel*_*vin 12

尝试将正则表达式更改为:

"^[^,]+$"
Run Code Online (Sandbox Code Playgroud)

假设我们正在匹配 "Hello, world"

第一个^断言我们在字符串的开头.接下来[^,]是一个字符类,意思是"除了," 之外的任何字符.+旁边的东西意味着"匹配这一次或多次." 最后,$声称我们现在处于字符串的末尾.

因此,这个正则表达式意味着"在字符串(^)的开头,匹配任何不是逗号([^,])的字符一次或多次(+),直到我们到达字符串($)的末尾.

这个正则表达式将失败"Hello, world"-一切都会好起来的H,e,l,l,和o,直到我们到达逗号-在这一点字符类不匹配"而不是逗号".

有关正则表达式的一些很棒的教程,请阅读http://www.regular-expressions.info/