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

更新於:2020 年 1 月 10 日

506 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.