正则表达式 – 用于检查字符串中是否连续找到大写字母的正则表达式?

我想知道regexp为以下情况:

字符串应该只包含字母字母。它必须以大写字母开头,后跟小写字母。那么它可以是小写字母或大写字母。

^[A-Z][a-z][A-Za-z]*$

但字符串也必须不包含连续的大写字母。如何将该逻辑添加到regexp?

也就是说,HttpHandler是正确的,但HTTPHandler是错误的。

编辑:2015-10-26:感谢up up的 – 但看看tchrist的答案。 (下面一个),特别是如果你开发网络或更多的“国际”。

Oren Trutners的答案不太正确(见“RightHerE”的样本输入,必须匹配,但不是)

这里是正确的解决方案:

(?!^.*[A-Z]{2,}.*$)^[A-Za-z]*$

编辑:

(?!^.*[A-Z]{2,}.*$)  // don't match the whole expression if there are two or more consecutive uppercase letters
^[A-Za-z]*$          // match uppercase and lowercase letters

/编辑

解决方案的关键是负面前瞻,见:http://www.regular-expressions.info/lookaround.html

相关文章

jquery.validate使用攻略(表单校验) 目录 jquery.validate...
/\s+/g和/\s/g的区别 正则表达式/\s+/g...
自整理几个jquery.Validate验证正则: 1. 只能输入数字和字母...
this.optional(element)的用法 this.optional(element)是jqu...
jQuery.validate 表单动态验证 实际上jQuery.validate提供了...
自定义验证之这能输入数字(包括小数 负数 ) <script ...