我想使用ASP.NET RegularExpressionValidator来限制文本框中的单词数。 (RegularExpressionValidator是我最喜欢的解决方案,因为它将同时进行客户端和服务器端检查)。
那么放入RegularExpressionValidator中的正确正则表达式将是什么呢?例如,说150个字。
(注意:我看到this question是相似的,但是给出的答案似乎也依赖于Split()这样的代码,因此我认为它们中的任何一个都不能插入RegularExpressionValidator中,这就是我再次询问的原因)
最佳答案
由于^
和$
是implicitly set with RegularExpressionValidators,请使用以下命令:
(\S*\s*){0,10}
这里的0允许空字符串(更具体地说是0个单词),而150是可以接受的最大单词数。根据需要调整这些值以增加/减少接受的单词数。
上面的正则表达式是非贪婪的,因此您会比参考问题中给出的匹配更快。
(\b.*\b){0,10}
是贪婪的,所以随着单词数的增加,性能会下降。