Возможная ошибка при определении групп захвата в корпорацииJAVA

Программисты JAVA общаются здесь
Anonymous
Возможная ошибка при определении групп захвата в корпорации

Сообщение Anonymous »

Псевдо-последовательность коррекции алгоритма для анализа строк. Чтение ссылки не нужно понимать проблему, но она дает ей контекст. Моя проблема заключается в том, что я не идентифицирую/правильно определяю группы захвата. [A-za-z0-9] .mp4 . Это (в теории) должна быть режима, удовлетворенная любой строкой, которая имеет:

[*] Случайный (даже void) prefix;
[*] Следуя строке S ;
[*], за которым следует ряд альфанускационных символов (названных групповых сезонов>); e ;
[*] Затем следует ряд буквмерных символов (названный групповой эпизод );
[*] Следуя строке (простое пустое пространство);
Следует случайный (даже void) строка; /> < /ul>
Теоретически Небольшой фрагмент кода ниже должен просеять входную строку (Star Wars Rebels s02e18 - The Forgotten Droid.mp4) и распознать 02 как значение именованного группового сезона и 18 как значение эпизода . Вместо этого я получаю java.lang.illegalstateexception: не найдено совпадает сообщение об ошибке. Хуже всего, после изменения кода, чтобы он показал имена названных групп, кажется, что есть нет именованная группа. Я довольно сбит с толку. < /P>
Что я делаю не так? Проблема определения названных групп? Вспоминать их в методе matcher.group (...) ? Написано ли резервное явление неправильно?String regex = "^[A-Za-z0-9][A-Za-z0-9] s(?[A-Za-z0-9])e(?[A-Za-z0-9]) [A-Za-z0-9].mp4";
String string = "Star Wars Rebels s02e18 - The Forgotten Droid.mp4";

Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(string);

System.out.println("\t\t pattern: " + pattern.toString() + "\n\t\t Named groups: ");
for(int i=0 ; i

Подробнее здесь: https://stackoverflow.com/questions/634 ... s-in-regex

Вернуться в «JAVA»