powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения и регистр русских букв.
4 сообщений из 4, страница 1 из 1
Регулярные выражения и регистр русских букв.
    #39802282
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите пожалуйста как написать регулярное выражение для поиска вхождений, без учёта регистра?

Вот пример, который в моём понимании работает не верно
Код: java
1.
2.
3.
4.
5.
6.
7.
String[] s = {"Вася", "Петя", "Dima","Дима"};
        for (String str : s) {
            Pattern p = Pattern.compile(".*с.*|.*d.*|.*д.*", Pattern.CASE_INSENSITIVE);
            if (p.matcher(str).matches()) {
                System.out.println("Найдено: " + str);
            }
        }



Вот пример который работает верно
Код: java
1.
2.
3.
4.
5.
6.
String[] s = {"Вася", "Петя", "Dima", "Дима"};
        for (String str : s) {
            if (str.toLowerCase().matches(".*с.*|.*d.*|.*д.*")) {
                System.out.println("Найдено: " + str);
            }
        }



Разница лишь в том, что во втором случае я привожу строку к нижнему регистру что соответствует регистру в регулярном выражении.

Почему не работает флаг Pattern.CASE_INSENSITIVE для русских букв в первом примере?
...
Рейтинг: 0 / 0
Регулярные выражения и регистр русских букв.
    #39802288
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin, да там же вроде в документации сказано, что CASE_INSENSITIVE только для us-ascii кодировки .
...
Рейтинг: 0 / 0
Регулярные выражения и регистр русских букв.
    #39802387
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин,

А как для русских сделать?
...
Рейтинг: 0 / 0
Регулярные выражения и регистр русских букв.
    #39802406
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторPattern.CASE_INSENSITIVE Enables case-insensitive matching. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched. Unicode-aware case-insensitive matching can be enabled by specifying the UNICODE_CASE flag in conjunction with this flag. Case-insensitive matching can also be enabled via the embedded flag expression (?i). Specifying this flag may impose a slight performance penalty.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения и регистр русских букв.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]