Java Scanner match()方法及示例
java.util.Scanner 类的 match() 方法返回该扫描器最后一次执行的扫描操作的匹配结果。
语法
public MatchResult match()
返回值 :该函数返回最后一次匹配操作的匹配结果。
异常 :如果没有进行过匹配,或者最后一次匹配不成功,该函数会抛出IllegalStateException。
下面的程序说明了上述函数。
程序1 :
// Java program to illustrate the
// match() method of Scanner class in Java
// without parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
String s = "GFG Geeks!";
// create a new scanner
// with the specified String Object
Scanner scanner = new Scanner(s);
// check if next token is "GFG"
System.out.println("" + scanner.hasNext("GFG"));
// find the last match and print it
System.out.println("" + scanner.match());
// print the line
System.out.println("" + scanner.nextLine());
// close the scanner
scanner.close();
}
}
输出:
true
java.util.regex.Matcher[pattern=GFG region=0, 10 lastmatch=GFG]
GFG Geeks!
程序2: 演示IllegalStateException
// Java program to illustrate the
// match() method of Scanner class in Java
// without parameter
import java.util.*;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
try {
String s = "GFG Geeks!";
// create a new scanner
// with the specified String Object
Scanner scanner = new Scanner(s);
// check if next token is "gopal"
System.out.println("" + scanner.hasNext("gopal"));
// find the last match and print it
System.out.println("" + scanner.match());
// print the line
System.out.println("" + scanner.nextLine());
// close the scanner
scanner.close();
}
catch (IllegalStateException e) {
System.out.println("Exception caught is: " + e);
}
}
}
输出:
false
Exception caught is: java.lang.IllegalStateException: No match result available
**参考资料: ** https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#match()