Java中关于正则表达式中的空格匹配问题,看图

上代码:importjava.util.Scanner;publicclassDemo{publicstaticvoidmain(String[]args){System... 上代码:

import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
System.out.println("请输入点坐标");
String check = new String("^\\w\\s\\w$"); //匹配1 2
Scanner scan = new Scanner(System.in);
String input = new String(scan.next());
if(input.matches(check)) {
System.out.println("是点");
} else {
System.out.println("不是点");
}
}
}

我输入1 2不是应该符合\\w\\s\\w的吗,为什么返回值是false呢
展开
 我来答
百度网友799369c
2013-10-03 · TA获得超过562个赞
知道小有建树答主
回答量:514
采纳率:66%
帮助的人:160万
展开全部
因为读入的input是“1”,不是“1 2”。
你可以在String input = new String(scan.next());这句下加一句System.out.println("input:" + input);试试。
你可以把“1 2”写到一个文本文档里面然后读出来,或者直接写String a = “1 2”;来匹配。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友cdf48d1a7
2013-10-03 · 超过19用户采纳过TA的回答
知道答主
回答量:100
采纳率:0%
帮助的人:56.2万
展开全部
因为你输入的是1空格2,在java里,scan.next()是以空格为结束的,你的input值是1,所以不符合要求。你应该改成nextLine(),这样读取一整行。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式