Java Scanner match() 方法



描述

java Scanner match() 方法返回此扫描程序执行的最后一次扫描操作的匹配结果。如果尚未执行匹配,或者上次匹配不成功,则此方法将抛出 IllegalStateException。

声明

以下是 java.util.Scanner.match() 方法的声明

public MatchResult match()

参数

返回值

此方法返回上次匹配操作的匹配结果

异常

IllegalStateException - 如果没有可用的匹配结果

在字符串上获取扫描程序的最后匹配结果示例

以下示例演示了如何使用 Java Scanner match() 方法获取最后一次匹配操作的匹配结果。我们使用给定的字符串创建了一个扫描程序对象。我们使用 hasNext() 方法检查字符串中是否存在字符串模式“Hello”,并使用 match() 打印结果。然后我们使用 nextLine() 方法打印字符串,然后使用 close() 方法关闭扫描程序。

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      String s = "Hello World! 3 + 3.0 = 6 ";

      // create a new scanner with the specified String Object
      Scanner scanner = new Scanner(s);

      // check if next token is "Hello"
      System.out.println(scanner.hasNext("Hello"));

      // find the last match and print it
      System.out.println(scanner.match().group());

      // print the line
      System.out.println(scanner.nextLine());

      // close the scanner
      scanner.close();
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

true
Hello
Hello World! 3 + 3.0 = 6 

在用户输入上获取扫描程序的最后匹配结果示例

以下示例演示了如何使用 Java Scanner match() 方法获取最后一次匹配操作的匹配结果。我们使用 System.in 类创建了一个扫描程序对象。我们使用 hasNext() 方法检查字符串中是否存在字符串模式“Hello”,并使用 match() 打印结果。然后我们使用 nextLine() 方法打印字符串,然后使用 close() 方法关闭扫描程序。

package com.tutorialspoint;

import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) {

      // create a new scanner with the System Input
      Scanner scanner = new Scanner(System.in);

      // check if next token is "Hello"
      System.out.println(scanner.hasNext("Hello"));

      // find the last match and print it
      System.out.println(scanner.match().group());

      // print the line
      System.out.println(scanner.nextLine());

      // close the scanner
      scanner.close();
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

Hello World
true
Hello
Hello World

在属性文件上获取扫描程序的最后匹配结果示例

以下示例演示了如何使用 Java Scanner match() 方法获取最后一次匹配操作的匹配结果。我们使用文件 properties.txt 创建了一个扫描程序对象。我们使用 hasNext() 方法检查字符串中是否存在字符串模式“Hello”,并使用 match() 打印结果。然后我们使用 nextLine() 方法打印字符串,然后使用 close() 方法关闭扫描程序。

package com.tutorialspoint;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ScannerDemo {
   public static void main(String[] args) throws FileNotFoundException {

      // create a new scanner with a file as input
      Scanner scanner = new Scanner(new File("properties.txt"));

      // check if next token is "Hello"
      System.out.println(scanner.hasNext("Hello"));

      // find the last match and print it
      System.out.println(scanner.match().group());

      // print the line
      System.out.println(scanner.nextLine());

      // close the scanner
      scanner.close();
   }
}

假设我们在你的 CLASSPATH 中有一个名为 properties.txt 的文件,其内容如下。此文件将用作我们示例程序的输入:

Hello World! 3 + 3.0 = 6

输出

让我们编译并运行上述程序,这将产生以下结果:

true
Hello
Hello World! 3 + 3.0 = 6
java_util_scanner.htm
广告