Установите два флага в Java regex.Узор
Мне нужен такой сопоставитель:
Matcher kuchen = Pattern.compile("gibt es Kuchen in der Ku00FCche",Pattern.CASE_INSENSITIVE).matcher("");
и проблема в том, что это не простой ASCII. Я знаю, что в этом конкретном случае я мог бы использовать [u00FCu00DC] для ü, но мне нужно быть немного более общим (построение регулярного выражения из других групп сопоставления). Итак, согласно javadocs:
по умолчанию сопоставление без учета регистра предполагает, что сопоставляются только символы в кодировке US-ASCII. Unicode-aware без учета регистра может можно включить, указав флаг UNICODE_CASE в сочетании с этим флагом.
может кто-нибудь сказать мне, как указать два флага вместе?
4 ответов
попробовать
Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE
это должно решить проблему. Или-ing bitmask вы получите составные функции.
хотя более чистые, используя параметры, такие же, как "(?iu)gibt es ..."
без параметров. i
= зависит от регистра, u
= unicode.