Форум программистов, компьютерный форум, киберфорум
mutagen
Войти
Регистрация
Восстановить пароль
все вопросы по Java которые задают более 3х раз на форуме

RegExp сладости из Java7

Запись от mutagen размещена 01.09.2013 в 17:15
Показов 5316 Комментарии 1

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package rexp;
 
import java.util.regex.Matcher;
import java.util.regex.Pattern;
 
/**
 * @author mutagen
 */
public class RexpNamedGroup {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
//        Допустим надо поискать повторяющиеся последовательности из 3 цифр и 2 букв а или b так, 
//        чтобы они полностью совпадали
//        сам рексп будет \\d{3}[ab]{2} - и мы его хотим расширить для поиска повторов
//        что то типа \\d{3}[ab]{2}[пробел]\\d{3}[ab]{2}
//        для этого воспользуемся именованной группой и бекреференсом на неё \\k<mydigits1>
        Pattern digits = Pattern.compile("(?<mydigits1>\\d{3}[ab]{2})\\s+\\k<mydigits1>");
        // допустим у нас есть кандидаты на проверку
        String[] targets = {"123ab 123ab", "123aa 123aa", "123bb 123bb", "123aa 123bb", "123bb 123aa"};
        for (String tgt : targets) {
            Matcher matcher = digits.matcher(tgt);
            if (matcher.matches()) {
//                смотрим на результат
                System.out.println(matcher.group("mydigits1"));
            }
        }
    }
}
Bash
1
2
3
4
5
run:
123ab
123aa
123bb
BUILD SUCCESSFUL (total time: 0 seconds)
итак мы получили что хотели

из минусов - нельзя делать именованные группы на русском(скорее всего и любом другом неанглийском) языке, что малёха ломает модель Java по поводу того что имена пропертей могут быть на любых языках, а именованных групп только на английском, без пробелов и подчеркух
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Аватар для KOPOJI
    из минусов - нельзя делать именованные группы на русском(скорее всего и любом другом неанглийском) языке, что малёха ломает модель Java по поводу того что имена пропертей могут быть на любых языках
    Думаю, не ломает. Т.к. это относится не напрямую к яве, а к самой библиотеке регулярных выражений.
    Запись от KOPOJI размещена 04.09.2013 в 15:30 KOPOJI вне форума
 
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru