English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
CANON_EQ del Pattern viene abbinato a due caratteri solo quando due caratteri sono normativamente uguali. Quando questo valore viene utilizzato comecompile()
Quando il valore di segno del metodo è impostato, due caratteri vengono abbinati e abbinati solo quando la loro decomposizione normativa completa è uguale.
La decomposizione normativa è una delle forme di normalizzazione del testo Unicode
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"; //Compilazione dell'espressione regolare Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ); //Ricerca dell'oggetto del matchatore Matcher matcher = pattern.matcher("\u1E03"); if(matcher.matches()) { System.out.println("Corrispondenza trovata"); } System.out.println("Corrispondenza non trovata"); } } }
Risultato di output
Corrispondenza trovata
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"; //Compilazione dell'espressione regolare Pattern pattern = Pattern.compile(regex, Pattern.CANON_EQ); //Ricerca dell'oggetto del matchatore 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 + " è una corrispondenza per " + regex); } System.out.println(ele + " non è una corrispondenza per " + regex); } } } }
Risultato di output
å è una corrispondenza per a? a? non è una corrispondenza per a? a? non è una corrispondenza per a? a? è una corrispondenza per a? a? non è una corrispondenza per a? a? non è una corrispondenza per a?