首页 > 解决方案 > 如何编写有效的正则表达式组?

问题描述

我尝试编写正则表达式以验证:

我写了一个正则表达式(^[^a-z]+$)(^[^ ]+$),但是当我测试它时,它SFSFSD是不正确的。

我怎样才能做到这一点 ?

谢谢 !:)

标签: javaregex

解决方案


您还可以使用正则表达式(^(?!\\s+$)[^a-z]+)

  • (?!\\s+$)部分检查正则表达式是否直到最后才包含空格
  • [^a-z]+然后检查小写字符

用几个样品测试:

List<String> wordList = Arrays.asList("   ", "SFSFSD", "as DDdkj", "AB CD", "    k", "l  l");
String regex = "(^(?!\\s+$)[^a-z]+)";
for(String word : wordList) {
    if(word.matches(regex)) {
        System.out.println(word + " :valid");
    } else {
        System.out.println(word + " :not valid");
    }
}
    

输出:

    :not valid
SFSFSD :valid
as DDdkj :not valid
AB CD :valid
     k :not valid
l    l :not valid

推荐阅读