powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Pattern/Matcher
6 сообщений из 6, страница 1 из 1
Pattern/Matcher
    #38580693
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Прошу подсказать мне алгоритм действия, если кого не затруднит или направить в нужное русло.
Есть строка animal , ее надо разобрать с помощью регуляки: на тигров и котов. (пример от балды, просто необходимо сделать кое-что похожее).

Необходимо, чтобы из строки извлекались тигры и коты и печатались именно в той последовательности, в которой они находятся в строке.

У меня получилось склепать что-то вот такое, которое дает сбои и, логично, что не работает. ковырялся еще с "ифами и циклами" тоже сильно не помогло. явно косяк в алгоритме.

Может быть кто подскажет, в какую сторону смотреть или что можно тут сделать?
Заранее спасибо за потраченное время!
код
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public class Run { 
    public static void main(String[] args) { 
                    String animal= "1Tiger2Cat3Cat4Tiger5Tiger";
        Pattern catPat = Pattern.compile("[0-9]{1}Cat");
          Matcher catMatch = catPat.matcher(animal);

         Pattern TigerPat = Pattern.compile("[0-9]{1}Tiger");
                 Matcher tigerMatch = TigerPat.matcher(animal);
                         
                         while(tigerMatch.find()|catMatch.find()){
                         System.out.println(tigerMatch.group());
                         System.out.println(catMatch.group());
                         }
    }
} 

...
Рейтинг: 0 / 0
Pattern/Matcher
    #38580697
elitegroup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public static void main(String[] args) {
        String animal= "1Tiger2Cat3Cat4Tiger5Tiger";
        Pattern pattern = Pattern.compile("(Tiger|Cat)");
        Matcher matcher = pattern.matcher(animal);

        while(matcher.find()){
            System.out.println(matcher.group());
        }
    }



Tiger
Cat
Cat
Tiger
Tiger
...
Рейтинг: 0 / 0
Pattern/Matcher
    #38580699
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elitegroup,

Спасибо, коненчо, но это решение не вариант =( мой косяк видимо не доконца условие написал.
Вот исходних, ы уикле создаются разные объекты, которые добавляются в лист. так что такуой вариант развития событий немного не подходит)
ПС : пусть есть класс Animal , от которого и наследуются Cat и Tiger
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
  String animal= "1Tiger2Cat3Cat4Tiger5Tiger";
List<Animals> list = new ArrayList<>();
public void parse()
                  
        Pattern catPat = Pattern.compile("[0-9]{1}Cat");
          Matcher catMatch = catPat.matcher(animal);

         Pattern TigerPat = Pattern.compile("[0-9]{1}Tiger");
                 Matcher tigerMatch = TigerPat.matcher(animal);
                         
                         while(tigerMatch.find()|catMatch.find()){
                       list.add(new Tiger(tigerMatch.group()));
                         list.add(new Cat(catMatch.group()));
                         }
    }
 
...
Рейтинг: 0 / 0
Pattern/Matcher
    #38580701
elitegroup
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сложно понять Вашу задачу, толи спать пора...
Код: java
1.
2.
3.
if ("Tiger".equals(matcher.group())) {
      list.add(new Tiger(matcher.group()));
} else { ... }
...
Рейтинг: 0 / 0
Pattern/Matcher
    #38580703
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elitegroup,

ох, писатель я такой, возможно)
нет, чтоб все через equals решить можно было...проблем не было бы.
регулярки надо использовать.
Вместо "зоопарка" =) текст надо разобрать программерский, на листинги и абзацы.
тут я просто пример от руки навалял, чтобы проще к восприятию было.
И проблема у меня именно с алгоритмом добавления в лист в строгой последовательности, а не с регулярками.
...
Рейтинг: 0 / 0
Pattern/Matcher
    #38581530
alex021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема решена. топик закрыт.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Pattern/Matcher
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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