Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Написать регулярку 
V
    Опции темы
x8m6
Дата 25.7.2011, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



Есть html-ка типа:

Код

<body>
 <table>
   <tr>
    <td>
       ... id: 34543346 ... name: Иванов И.И.
    </td>
    ...
   </tr>
   ...
 </table>
</body>


Нужно написать регулярку, которая бы собирала все id и name. Помогите пож-та. Никак не получается воспринимать язык этих выражений. Запостил здесь, т.к. нужно именно на Java и говорят что синтаксис java-рэгэкспов отличается от перловских/пэшных.
PM MAIL   Вверх
aleksandy
Дата 26.7.2011, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 17.12.2006

Репутация: 4
Всего: 5



Код
Matcher m = Pattern.compile("(?s)<td>.*?id: (\\d+).*?name: (\\p{InCyrillic}+ \\p{InCyrillic}\\.\\p{InCyrillic}\\.).*?</td>").matcher(s);
while (m.find()) {
    System.out.println("id: " + m.group(1) + "; name: " + m.group(2));
}


PM   Вверх
x8m6
Дата 26.7.2011, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



спасибо, работает. Есть еще один маленький вопрос по теме: как применить квантификатор к части рэгэкспа без группировки (т.е. без скобок ())?
Например в одном из столбцов таблицы может быть только id ?
 
PM MAIL   Вверх
aleksandy
Дата 27.7.2011, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 260
Регистрация: 17.12.2006

Репутация: 4
Всего: 5



Замени часть регулярки на такую
Код
(?:name: (\\p{InCyrillic}+ \\p{InCyrillic}\\.\\p{InCyrillic}\\.).*?)?

PM   Вверх
x8m6
Дата 10.8.2011, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 156
Регистрация: 11.12.2008

Репутация: нет
Всего: нет



спасибо, плюсую.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.