regular - Establecer dos banderas en Java regex.Pattern
regex one (4)
Necesito un matcher como este:
Matcher kuchen = Pattern.compile("gibt es Kuchen in der K/u00FCche",Pattern.CASE_INSENSITIVE).matcher("");
Y el problema es que no es simple ASCII. Sé que en este caso particular, podría usar [/ u00FC / u00DC] para la ü, pero necesito ser un poco más general (compilación de la expresión regular de otros grupos de emparejadores). Así que según javadocs :
De forma predeterminada, la coincidencia que no distingue entre mayúsculas y minúsculas asume que solo se comparan los caracteres en el conjunto de caracteres US-ASCII. La coincidencia entre mayúsculas y minúsculas que reconoce Unicode se puede habilitar especificando el indicador UNICODE_CASE junto con este indicador.
¿Alguien puede decirme cómo especificar las dos banderas en conjunto?
Aunque es más puro usando parámetros, igual que "(?iu)gibt es ..."
sin parámetros. i
= no distingue entre mayúsculas y minúsculas, u
= unicode.
Es una máscara de bits, por lo que utiliza el operador OR a nivel de bits |
.
Tratar
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
Debería resolver el problema. O bien, la máscara de bits obtendrá características compuestas.
Use OR en modo bit, como Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
.