powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения
7 сообщений из 7, страница 1 из 1
Регулярные выражения
    #38261639
Vitasya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, помогите пожалуйста разобраться в работе matcher.group(1) и matcher.group(2), почему выводит именно так?
Null group: abdcxyz
First group: a
Second group: bdcxyz

Null group: abdcxyz
First group: abdcxyz
Second group:

Null group: abdcxyz
First group: abdcxy
Second group: z

вот код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
import java.util.regex.*;
public class JavaRegExp {
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);
}
public static void myMatches(String regex, String input) {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if(matcher.matches()) {
System.out.println("Null group: " + matcher.group(0));
System.out.println("First group: " + matcher.group(1));
System.out.println("Second group: " + matcher.group(2));
} else
System.out.println("nothing");
System.out.println();
}
}
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262032
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitasyaпочему выводит именно так?А что вы хотите получить в конечном итоге?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262177
Vitasya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я бы хотел чтобы объяснили почему именно такой результат..не могу просто понять как работает matcher.group(1) и matcher.group(2), а в интернете не смог сам разобраться
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262187
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitasya,

Код: java
1.
2.
3.
myMatches("([a-z])([a-z]+)", input);// 1-й группе требуется один символ, остальные - идут во-вторую
myMatches("([a-z]+)([a-z]*)", input);//1-я группа поглотила всю строку, но при этом 2-я - удовлетворена (по условию может и не быть символов)
myMatches("([a-z]+)([a-z]+)", input);//1-я группа поглощает большую часть, 2-й требуется как минимум один символ
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262236
Vitasya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ага...уже почти понял, спасибо..ну а если поставить вот так myMatches("([a-z]?)([a-z]?)", input); то для всех будет nothing..как это объяснить?
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262261
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vitasyaкак это объяснить?Паттерн несоответствует строке:
Код: java
1.
myMatches("([a-z]?)([a-z]?)", input.substring(0, 2));
...
Рейтинг: 0 / 0
Регулярные выражения
    #38262284
Vitasya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
точно.. спасибо вам!)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярные выражения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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