Ответ 1
Пытаться
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
он должен решить проблему. Побирая битовую маску, вы получите сложные функции.
Мне нужен такой помощник:
Matcher kuchen = Pattern.compile("gibt es Kuchen in der K\u00FCche",Pattern.CASE_INSENSITIVE).matcher("");
и проблема в том, что это не просто ASCII. Я знаю, что в этом конкретном случае я мог бы использовать [\ u00FC\u00DC] для ü, но мне нужно быть немного более общим (создание регулярного выражения из других групп сопоставления). Итак, согласно javadocs:
По умолчанию нечувствительность к регистру предполагает, что только символы в кодировке US-ASCII сопоставляются. Совпадение без учета регистра Unicode может быть включено путем указания флага UNICODE_CASE в сочетании с этим флагом.
Может ли кто-нибудь сказать мне, как указать два флага вместе?
Пытаться
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
он должен решить проблему. Побирая битовую маску, вы получите сложные функции.
Хотя более чистые параметры, такие же, как "(?iu)gibt es..."
без параметров. i
= нечувствительность к регистру, u
= unicode.
Используйте побитовое ИЛИ, например Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
.
Это битовая маска, поэтому вы используете побитовый оператор OR |
,