正则表达式匹配非空且非null字符串该怎么写

1726
2023/12/20 17:52:49
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

正则表达式匹配非空且非null字符串可以使用如下的表达式:

^(?![\s\S]*$)\S+$

解释:
`^`:匹配字符串的开始位置
`(?![\s\S]*$)`:负向零宽度断言,确保后面不全是空白字符或任意字符
`\S+`:匹配一个或多个非空白字符
`$`:匹配字符串的结束位置
示例用法:

String regex = "^(?![\\s\\S]*$)\\S+$";
String input = "abc";
boolean isMatch = input.matches(regex);
System.out.println(isMatch);  // 输出 true
input = null;
isMatch = input.matches(regex);
System.out.println(isMatch);  // 输出 false
input = "   ";
isMatch = input.matches(regex);
System.out.println(isMatch);  // 输出 false

上述正则表达式可以匹配包含至少一个非空白字符的字符串,而不匹配空字符串、空白字符串或null。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 正则表达式如何分别匹配多个括号中的值