Java 中的 Pattern quote() 方法示例
javaobject oriented programmingprogramming
Java 的 java.util.regex 包提供了各种类来查找字符序列中的特定模式。
此包的 pattern 类是正则表达式的编译表示。此类的 quote() 方法接受字符串值并返回与给定字符串匹配的模式字符串,即向给定字符串添加额外的元字符和转义序列。无论如何,给定字符串的含义不受影响。
示例 1
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class QuoteExample { public static void main( String args[] ) { //读取字符串值 Scanner sc = new Scanner(System.in); System.out.println("输入输入字符串"); String input = sc.nextLine(); System.out.print("输入要搜索的字符串:"); String regex = Pattern.quote(sc.nextLine()); System.out.println("模式字符串:"+regex); //编译正则表达式 Pattern pattern = Pattern.compile(regex); //检索 Matcher 对象 Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("Match found"); } else { System.out.println("Match not found"); } } }
输出
输入输入字符串 This is an example program demonstrating the quote() method 输入要搜索的字符串:the 模式字符串:\Qthe\E 找到匹配项
示例 2
import java.util.regex.Matcher; import java.util.regex.Pattern; public class QuoteExample { public static void main( String args[] ) { String regex = "[aeiou]"; String input = "Hello how are you welcome to Tutorialspoint"; //编译正则表达式 Pattern.compile(regex); regex = Pattern.quote(regex); System.out.println("pattern string: "+regex); //编译正则表达式 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("输入字符串包含元音"); } else { System.out.println("输入字符串不包含元音"); } } }
输出
模式字符串:\Q[aeiou]\E 输入字符串包含元音