为了账号安全,请及时绑定邮箱和手机立即绑定

验证由仅由空格分隔的数字组成的字符串

验证由仅由空格分隔的数字组成的字符串

HUWWW 2021-11-17 10:38:31
我有一个字符串,它只能有由空格分隔的整数。例如:1 2 34 5 69 8 71 p 3 // it should not pass所以我的字符串中应该始终包含由空格分隔的数字,这就是为什么我添加了这个正则表达式检查来验证字符串但它不起作用:String line = "1 2 3"; // "1 p 3"if(!line.matches("[ ]?\\d+")) {    //it should come here for "1 p 3" string}我的正则表达式有什么问题?
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

.matches仅true当整个字符串与正则表达式匹配时才会评估为。(你可以把它通过被隐式包围^和$。)因此,以验证与仅之间,用空格数的字符串:


\d+(?: \d+)*

https://regex101.com/r/wK9WhP/1


请注意,不需要一个只有一个字符的字符集 - 更容易完全忽略字符集。


String line = "1 2 3"; // "1 p 3"

if(line.matches("\\d+(?: \\d+)*")) {

    System.out.println("match");

} else {

    System.out.println("no match");

}


查看完整回答
反对 回复 2021-11-17
  • 1 回答
  • 0 关注
  • 91 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信