使用Regex验证文本区域中的单词数

时间:2013-02-01 15:35:31

标签: regex asp.net-mvc vb.net

我正在尝试编写MVC模型验证,以验证字符串中有10个或更多单词。正确填充字符串,因此我没有包含HTML。我做了一些研究,似乎我所尝试的东西应该起作用,但无论出于何种原因,我似乎总是失败。关于我在这里做错了什么想法?

(在mvc 4 vb.net环境中使用System.ComponentModel.DataAnnotations)

已尝试([\w]+){10,}((\\S+)\s?){10,}[\b]{20,}[\w+\w?]{10,}(\b(\w+?)\b){10,}([\w]+?\s){10}([\w]+?\s){9}[\w],{{1 }},([\S]+\s){9}[\S]以及关于同一基本思想的几个变种。

([a-zA-Z0-9,.'":;$-]+\s+){10,}

正确的解决方案是<Required(ErrorMessage:="The Description of Operations field is required"), RegularExpression("([\w]+){20,}", ErrorMessage:="ERROZ")> Public Property DescOfOperations As String = String.Empty

2 个答案:

答案 0 :(得分:0)

编辑将已接受的版本移至顶部,删除未使用的版本。除非我错了并且整个序列需要匹配,否则类似的事情(也会占用双倍空格):

([\S]+\s+){9}[\S\s]+

或者:

([\w]+?\s+){9}[\w]+

答案 1 :(得分:0)

尝试一下:

([a-zA-Z0-9,.'":;$-]+\s){10,}