English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

CANON_EQ-Feld im Java-Muster und Beispiel

Nur wenn die beiden Zeichenspezifikationen gleich sind, passt das Feld CANON_EQ der Klasse Pattern auf zwei Zeichen. Wenn dieser Wert alscompile()Wenn der Zeichenwert des Methodensignals ist, werden zwei Zeichen abgestimmt und nur dann abgestimmt, wenn ihre vollständige Normalisierungsaufteilung gleich ist.

Die Normalisierungsaufteilung ist eine Form der Unicode-Textnormalisierung.

Beispiel1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CANON_EQ_Example {
   public static void main( String args[] ) {
      String regex = "b\u0307";
      //Kompilieren Sie den regulären Ausdruck
      Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ);
      //Suchen Sie das Match-Objekt
      Matcher matcher = pattern.matcher("\u1E03");
      if(matcher.matches()) {
         System.out.println("Treffer gefunden");
      } else {
         System.out.println("Treffer nicht gefunden");
      }
   }
}

Ausgabefolge

Treffer gefunden

Beispiel2

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CANON_EQ_Example {
   public static void main( String args[] ) {
      String regex = "a\u030A";
      //Kompilieren Sie den regulären Ausdruck
      Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ);
      //Suchen Sie das Match-Objekt
      String [] input = {"\u00E5", "a\u0311", "a\u0325", "a\u030A", "a\u1E03", "a\uFB03"};
      for (String ele : input) {
         Matcher matcher = pattern.matcher(ele);
         if(matcher.matches()) {
            System.out.println(ele+" ist ein Treffer für "+regex);
         } else {
            System.out.println(ele+" ist nicht ein Treffer für "+regex);
         }
      }
   }
}

Ausgabefolge

å ist ein Treffer für a?
a? ist nicht ein Treffer für a?
a? ist nicht ein Treffer für a?
a? ist ein Treffer für a?
a? ist nicht ein Treffer für a?
a? ist nicht ein Treffer für a?