Java 中如何使用正则表达式进行模式匹配?


正则表达式是一个字符串,它定义/形成一个模式以搜索输入文本。正则表达式可以包含一个或多个字符,使用正则表达式,您可以搜索或替换字符串。

Java 提供了 java.util.regex 包,用于使用正则表达式进行模式匹配。该包的pattern 类是正则表达式的已编译表示形式。要匹配正则表达式和字符串,此类提供了两种方法,即 -

  • compile():此方法接受表示正则表达式的字符串,并返回 Pattern 对象的对象。
  • matcher(): 此方法接受字符串值,并创建一个匹配对象,将给定的字符串与当前模式对象表示的模式进行匹配。

示例

以下 Java 程序接受用户输入的字符串,验证它是否包含字母(大小写),它还接受数字。

在线演示

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main( String args[] ) {
      String regex = "[a-zA-Z][0-9]?";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter an input string: ");
      String input = sc.nextLine();
     
      //Creating a Pattern object
      Pattern p = Pattern.compile(regex);
      //Creating a Matcher object
      Matcher m = p.matcher(input);  
      if(m.find()) {
         System.out.println("Match occurred");
      }else {
         System.out.println("Match not occurred");
      }
   }
}

输出 1

Enter an input string:
sample text
Match occurred

输出 2

Enter an input string:
sample text 34 56
Match occurred

更新于: 05-Feb-2021

224 次浏览

启动你的 职业

通过完成课程获得认证

开始
广告