Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Регулярные выражения


Автор: rkosteckiy 3.11.2015, 18:08
Привет всем!)
Я столкнулся с такой проблемой.
Код

742   model 1 category 1   2218240  Kyiv  1447162980 src_ 2015-11-10 15 43 00   2200001  Darnytsya

Мне нужно только оставить:
Код

742 Kyiv 2015-11-10 15:43:00 Darnytsya



Кто может помочь?
Как можна дописать этот код?

Код

Pattern p = Pattern.compile("[A-Za-z0-9_-]+");  
        Matcher m = p.matcher(data);  
        while(m.find()){System.out.print(data.substring(m.start(), m.end())+" ")} 


Автор: LSD 3.11.2015, 20:42
Цитата(rkosteckiy @  3.11.2015,  19:08 Найти цитируемый пост)
Кто может помочь?

Телепат smile 

Автор: Romikgy 3.11.2015, 20:43
Код

(\d+)\s+\w+\s+\d+\s+\w+\s+\d+\s+\d+\s+(\w+)\s+\d+\s+\S+\s+(\d{4}-\d{2}-\d{2})\s+(\d{2} \d{2} \d{2})\s+\d+\s+(\w+)

каждая группа , то что вам нужно )))

Автор: infarch 9.11.2015, 11:28
Мне сильно кажется, что вам немного не такая регулярка нужна. Налицо кортеж из значений, разделенных пробелами, или табами, вам виднее. Разберите его на части в массив строк (вот тут регулярка и может понадобится чтоб описать разделитель), а из массива возьмите те элементы которые вам нужны.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)