我想知道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