java - 如何编写有效的正则表达式组?
问题描述
我尝试编写正则表达式以验证:
- 不是小写字符
- 不仅是空格
我写了一个正则表达式(^[^a-z]+$)(^[^ ]+$)
,但是当我测试它时,它SFSFSD
是不正确的。
我怎样才能做到这一点 ?
谢谢 !:)
解决方案
您还可以使用正则表达式(^(?!\\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
推荐阅读
- mysql - UNION 2 带有计算列的选择查询
- angular - 在 Angular 中为动态 mat-table 创建一个通用管道
- javascript - React.PropsWithChildren 除了 `children` 没有其他道具?
- ios - SwiftUI 网格项内存泄漏
- swift - makeAlert 函数总是返回 False
- python-3.x - 请求如何发送有效负载以登录并确认帖子成功
- android - 如何在 viewModel Kotlin Android 中保护参数?
- record - fluentd添加字段并通过json输出
- flutter - 如何解决错误:未定义“setState”
- c# - C# Selenium:重定向并获取过时的元素引用:元素未附加到页面文档