ho bisogno di un matcher come questo:Impostare due bandiere in Java regex.Pattern
Matcher kuchen = Pattern.compile("gibt es Kuchen in der K\u00FCche",Pattern.CASE_INSENSITIVE).matcher("");
e il problema è che non è semplice ASCII. So che in questo caso particolare potrei usare [\ u00FC \ u00DC] per il ü, ma ho bisogno di essere un po 'più generale (costruendo la regex di altri gruppi di matcher). Quindi, secondo javadocs:
Per impostazione predefinita, la corrispondenza case-insensitive presuppone che solo i caratteri nel set di caratteri US-ASCII vengono abbinati. La corrispondenza senza distinzione tra maiuscole e minuscole e Unicode può essere abilitata specificando il flag UNICODE_CASE insieme a questo flag.
Qualcuno può dirmi come specificare le due bandiere in congiunzione?
È meglio applicare i flag all'interno del pattern stesso o utilizzare il parametro flag all'interno di compilazione come mostrato nella risposta? – Deco
Usalo come mostrato nella risposta :) –
Il fatto di includerlo nel modello come nella risposta di Joop può contenere degli svantaggi o è puramente una preferenza? Un potenziale pro per includerlo all'interno della stringa Pattern è la trasferibilità. Un mio collega ha riutilizzato una delle mie regex PCRE senza impostare il flag senza distinzione tra maiuscole e minuscole, il che non sarebbe stato un problema se l'avessi incluso all'interno del pattern stesso. – Deco