我已经拥有以下正则表达式:^([^\s]+\s)*([^\s]+$)
它执行以下操作:
但现在我需要在任何位置至少包含一个字母大写或小写。
我试过在几个地方与[A-Za-z]玩耍,但是不成功。
我怎样才能完成这个?
提前致谢。
答案 0 :(得分:2)
我认为应该这样做:
^(\S\s?)*[A-Za-z](\s?\S)*$
[A-Za-z]
A-Za-z
A-Za-z
答案 1 :(得分:1)
试试这个正则表达式:
^(?!\s)(?!.*\s$)(?!.*?(\s)\1)(?=.*?[A-Z])(?=.*?[a-z]).+$
<强>解释强>
^
- 断言字符串的开头(?!\s)
- 用于验证下一个字符不是空格的否定预测(?!.*\s$)
- 负面预测以确保最后一个字符不是空格(?!.*?(\s)\1)
- 负面预测以确保测试字符串没有任何连续的空格(?=.*?[A-Z])
- 确保字符串中有大写字母的正面预测(?=.*?[a-z])
- 确保字符串中某处有一个小写的正面预测.+
- 满足上述所有条件后,匹配任何字符的1次出现(换行符除外)$
- 断言字符串的结尾