如何在 Java 中将正则元字符作为文字字符进行匹配。


Pattern 类的 compile 方法有两个参数 −

  • 一个表示正则表达式的字符串值。
  • Pattern 类的域中的一个整数值。

启用模式的 LITERAL 域用于模式的文字解析。即,所有正则表达式元字符和转义序列不具有任何特殊含义,它们被视为文字字符。因此,如果你需要将正则表达式元字符作为普通字符进行匹配,则需要将此作为标志值传递给 compile() 方法以及正则表达式。

示例

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String[] args) {
      System.out.println("Enter input data: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^[0-9]";
      //Creating a Pattern object
      Pattern pattern = Pattern.compile(regex, Pattern.LITERAL);
      //Creating a Matcher object
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
         System.out.println(matcher.group());
      }
      System.out.println("Number of matches: "+count);
   }
}

输出 1

Enter input data:
9848022338
Number of matches: 0

输出 2

Enter input data:
^[0-9]
^[0-9]
Number of matches: 1

更新于:21-11-2019

218 次浏览

启动您的职业生涯

通过完成课程获得认证

立即开始
广告