Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярное выражение / 5 сообщений из 5, страница 1 из 1
10.08.2018, 17:29
    #39686216
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение
Всем привет. Подскажите пожалуйста, есть строка:
Код: plaintext
"zzzz/{abc-qqq}/{www-ddd}"
нужно получить из нее только строки, нужно получить значения, которые находятся в {}. Т.е. abc-qqq и www-ddd
сейчас сделала так:
Код: plaintext
1.
2.
3.
4.
String[] split = str.split("\\/");
        for (int i = 0; i < split.length; i++) {
            boolean test = Pattern.compile("^\\{").asPredicate().test(split[i]);
            System.out.println(test);
        }
Здесь проверка на то, что строка начинается на {, как дописать регулярку чтобы была проверка еще и на }
спасибо
...
Рейтинг: 0 / 0
10.08.2018, 17:42
    #39686219
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение
...
Рейтинг: 0 / 0
10.08.2018, 17:43
    #39686221
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение
ничего не понял, либо все слишком легко, либо слишком запутанно.
так годится?
Код: java
1.
2.
3.
4.
5.
6.
7.
String str = "zzzz/{abc-qqq}/{www-ddd}";
Pattern p = Pattern.compile("\\{(.+?)\\}");
Matcher matcher = p.matcher(str);
while (matcher.find())
{
	System.out.println(matcher.group(1));
}
...
Рейтинг: 0 / 0
10.08.2018, 17:44
    #39686222
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение
JulT,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "\\{([a-z]{3}-[a-z]{3})\\}";
final String string = "zzzz/{abc-qqq}/{www-ddd}";

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

while (matcher.find()) {
    System.out.println("Full match: " + matcher.group(0));
    for (int i = 1; i <= matcher.groupCount(); i++) {
        System.out.println("Group " + i + ": " + matcher.group(i));
    }
}
...
Рейтинг: 0 / 0
10.08.2018, 19:36
    #39686255
JulT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Регулярное выражение
Спасибо большое :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярное выражение / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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