Java 中的模式 LITERAL 字段示例
支持对模式的直接解析。在此,所有字符(包括转义序列和元字符)没有任何特殊含义,它们都作为直接字符对待。
例如,通常,如果你在给定的输入文本中搜索正则表达式“^This”,它将匹配以单词“This”开头的行。
示例 1
import java.util.regex.Matcher; import java.util.regex.Pattern; public class LTERAL_Example { public static void main(String[] args) { String input = "This is the first line\n" + "This is the second line\n" + "^This is the third line"; //Regular expression to accept date in MM-DD-YYY format String regex = "^This"; //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); } }
输出
^This Number of matches: 1
在直接模式下,元字符“^”没有意义,正则表达式“^This”匹配确切的单词。
示例 2
import java.util.regex.Matcher; import java.util.regex.Pattern; public class LTERAL_Example { public static void main(String[] args) { String input = "This is the first line\n" + "This is the second line\n" + "^This is the third line"; //Regular expression to accept date in MM-DD-YYY format String regex = "^This"; //Creating a Pattern object Pattern pattern = Pattern.compile(regex,Pattern.LITERAL); System.out.println("Usually it is printed as: \n"+input); //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); } }
输出
Usually it is printed as: This is the first line This is the second line ^This is the third line ^This Number of matches: 1
广告