我很好奇为什么这种模式不起作用.
String same = "==== Instructions ====";
Pattern title4 = Pattern.compile(same);
Scanner scan = new Scanner(same);
System.out.println(scan.hasNext(same));
Run Code Online (Sandbox Code Playgroud)
收益:
false
Run Code Online (Sandbox Code Playgroud)
默认的扫描仪分隔符是空格.该hasNext(...)方法需要照顾的分隔符,因此它会在分裂空格和反对首先检查字符串====
,如kuropengin说.
尽管如此,您的代码中似乎有一个拼写错误,因为您根本不使用定义的模式.您的代码可能应该是:
String same = "==== Instructions ====";
Pattern title4 = Pattern.compile(same);
Scanner scan = new Scanner(same);
System.out.println(scan.hasNext(title4));
Run Code Online (Sandbox Code Playgroud)
但是你要找的是findInLine(...)方法.搜索匹配时它会忽略分隔符.以下代码
String same = "==== Instructions ====";
Pattern title4 = Pattern.compile(same);
Scanner scan = new Scanner(same);
System.out.println(scan.findInLine(title4));
Run Code Online (Sandbox Code Playgroud)
将返回:
==== Instructions ====
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1394 次 |
最近记录: |