Java 中的正则表达式 E 元字符。
子表达式/元字符“\E”用于结束以 \Q 开始的引用。也就是说,可以通过将元字符放在 \Q 和 \E 之间来在正则表达式中转义元字符。例如,表达式 [aeiou] 匹配包含元音字母的字符串。
示例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleProgram { public static void main( String args[] ) { String regex = "[aeiou]"; Scanner sc = new Scanner(System.in); System.out.println("Enter input string: "); String input = sc.nextLine(); //Creating a Pattern object Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("Match occurred"); }else { System.out.println("Match not occurred"); } } }
输出
Enter input string: sample Match occurred
但是,如果在 \Q 和 \E 内使用相同的表达式,如 \Q[aeiou]\E ,它将匹配给定字符串中的相同字符序列“[aeiou]”。简而言之,元字符失去了它们的含义,并被视为正常字符。
示例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleProgram { public static void main( String args[] ) { String regex = "\Q[aeiou]\E"; Scanner sc = new Scanner(System.in); System.out.println("Enter input string: "); String input = sc.nextLine(); //Creating a Pattern object Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("Match occurred"); } else { System.out.println("Match not occurred"); } } }
输出 1
Enter input string: sample Match not occurred
输出 2
Enter input string: The letters [aeiou] are vowels in English alphabet Match occurred
广告