Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 24.01.2014
Сообщений: 51
1

Regexp

01.05.2014, 19:34. Показов 490. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте. Помогите с regxep.По книге Блинова стр 179. Почему во втором случае именно так, ведь по описанию квантификатора второй случай первая группа должна быть пустая. Заранее благодарен.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Groups {
public static void main(String[] args) {
String input = "abdcxyz";
myMatches("([a - z]*)([a-z]+)", input);
myMatches("([a-z]?)([a-z]+)", input);
myMatches("([a-z]+)([a-z]*)", input);
myMatches("([a-z]?)([a-z]?)", input);
}
 
public static void myMatches(String regex,String input) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println("First group: "+ matcher.group(1));
System.out.println("Second group: "+ matcher.group(2));
}
else
System.out.println("nothing");
System.out.println();
}
}
Результат работы программы:

Код
First group: abdcxy
Second group: z
First group: a
Second group: bdcxyz
First group: abdcxyz
Second group:
nothing
В первом случае к первой группе относятся все возможные символы, но при
этом остается минимальное количество символов для второй группы.
Во втором случае для первой группы выбирается наименьшее количество
символов, т. к. используется слабое совпадение.
В третьем случае первой группе будет соответствовать вся строка, а для вто-
рой не остается ни одного символа, таккак вторая группа использует слабое совпадение.
В четвертом случае строка не соответствует регулярному выражению, т. к.
для двух групп выбирается наименьшее количество символов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.05.2014, 19:34
Ответы с готовыми решениями:

Regexp
Доброго всем вечера! Не могли бы вы подсказать как построить регулярное выражение для парсинга...

Калькулятор с regexp
Нужно написать простой калькулятор (операции +-*/). Входные данные String "3.00+2.00". С помощью...

Regexp составить
Нужно составить regexp чтобы вытащить из 1A18 - 9 цифры 1 и 18 на этом сайте ничего не получается...

Объясните с regexp-ом
Есть строка Где символ разделитель | (прямая черта) нужно распарсить этим инструментом String...

0
01.05.2014, 19:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.05.2014, 19:34
Помогаю со студенческими работами здесь

Regexp для строки
Нужно из строки "2.85+8.75" с помощью regexp изъять цифры (знаки перед ними в том числе). Мое...

RegExp. Найти пробелы, кроме
Добрый день! Есть некая строка: "123 456 ${date(<cpd>, <yymmdd>}" Необходимо сделать из этой...

Regexp: распарсить и заменить символы
есть строка парсится через .split("\\/",-1); Теперь нужно распарсенные привести к типу...

Подскажите как допилить regexp
Я хочу найти общее количество вхождений следующих символов (*, /, ^, +, -, cos, sin, tan) в...

Java Regexp получить подстроку
Можно ли каким нибудь образом получить подстроку/подстроки найденные при помощи regexp'a? к...

Вытащить стоку используя regexp
Всем привет! Допустим у нас есть строка: String r = "ip1: 34.33.31.09 ip2: 43.22.12.33" Как из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru