如何在 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
广告