powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярка для поиска html-тега TR
22 сообщений из 22, страница 1 из 1
Регулярка для поиска html-тега TR
    #39058540
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Табличка из восьми полей, хочу достать ее строчки по очереди, пишу регвыр в Matcher:
Код: java
1.
<tr.*<td.*</td>.*<td.*</td>.*<td.*</td>.*<td.*</td>.*<td.*</td>.*<td.*</td>.*<td.*</td>.*<td.*</td>.*</tr>


Но matcher.find(startpos) и затем matcher.group() возвращает сразу всю таблицу (т.е. все подходящие tr-ы), что логично, но как в выражении ограничить, чтобы брал подходящую подстроку с минимальной длиной или только первые восемь </td> например )
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058558
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему бы не взять HTML парсер?

Ну, и RTFM:
http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html

X{n,m} X, at least n but not more than m times
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058562
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПочему бы не взять HTML парсер?
Готовый не нужен, если речь о неких готовых модулях, то вроде как тоже не особо нужны пока.
BlazkowiczX{n,m} X, at least n but not more than m times
Это конечно пробовал, но ".*" оно ж все равно вырубает это ), т.е. надо кроме того как-то четко обозначит конец строки, чтобы он отличался от конца последней строки ), или как-то указать, чтобы брал миним. подходящую по длине подстроку.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058568
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDS,

Опубликуй тестовый пример.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058573
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут любой Dom/XPath запрос был-бы эффективнее регулярки с точки зрения сложности и понимания самого кодинга.
И вобщем-то подобный пример (даже если он взлетит) я-бы рекомендовал как антипаттерн или
как пример того как НЕ НАДО кодить.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058574
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторОпубликуй тестовый пример.
Разобрался. Нуна очень жадная квантификация )
Код: java
1.
<tr.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?<td.*?</td>.*?</tr>


Так нормально по одной строчке ищет.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058577
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. наоборот, ленивая называется )
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058580
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDSЭто конечно пробовал, но ".*" оно ж все равно вырубает это )
Если в td ожидаем только текст, то можно не .*, а [^<]*
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39058597
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТут любой Dom/XPath запрос был-бы эффективнее регулярки с точки зрения сложности и понимания самого кодинга.
Возможно, но у меня нет здесь какой-то сложной иерархии и регулярок вполне должно хватить, для меня они напротив кажутся проще в данном случае, т.к. немного знакомо. Позже потыкаю XPath )
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39059074
imperfekt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454]You can't parse [X]HTML with regex...
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39059260
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
imperfekt http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454]You can't parse [X]HTML with regex...

Спасибо, поржал )
"...Каждый раз при попытке парсить HTML с помощью регулярных выражений, порочный ребенок плачет крови девственниц...
HTML-код-плюс-регулярное выражение будет пластика нервов чувствующих в то время как вы наблюдаете, ваша Психея увядание в натиск ужаса....HTML-теги протекать frǫm твои глаза как жидкость боль, песня регулярные выражения парсинг будет гасить голоса смертного человека из сферы я вижу это может вы видите ît это красивый финал нюхательного лжи человека..."
Онлайн-переводчег конечно )
Когда-то давно вроде как даже использовал XPath, сейчас забыл уже что это и как это.
Для конкретной задачи пока хватает рег.выров.
Будет интересно, если кто-то приведет простой пример разбора какой-ниб. страницы, который лучше делать через XPath, чем регвырами. Т.е. ссылка на страницу и пример, как просто из нее достать определенное содержимое с пом. XPath, а с регвыр мол затрахаешься ) Пока навскидку XPath хорош тем, что как понял, может сразу забирать все нужные теги по указ. пути в список, плюс видимо, может учитывать, что теги могут быть не закрытми ну и в целом видимо, более заточен наверно именно под это дело.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39059462
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Регулярки проще тем что инфраструктуры для них не нужно никакой. Взял документ и херячишь.
Вобщем я почти согласен с тезисом что большая часть юзкейсов подобных задач решается
регулярками. Но если-б сам для себя делал - то по другому.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39069714
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В каком случае может виснуть метод Matcher.find()?
Поискал, народ периодически сталкивается, но в итоге разруливают изменением регулярки практически методом тыка.
Может кто в курсе что именно надо исправлять в РВ? Может что-то категорически нельзя писать в РВ? )
При этом странно, что на одном и том же контенте - запускаешь в SE-приложении - работает, запускаешь в виде все того же сервлета - наглухо виснет.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39069836
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JDSна одном и том же контенте - запускаешь в SE-приложении - работает, запускаешь в виде все того же сервлета - наглухо виснет.
а это не факт , что на одном и том же. попробуй вывести контент из сервлета - наверняка что-нибудь обнаружишь
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39069843
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDSБудет интересно, если кто-то приведет простой пример разбора какой-ниб. страницы, который лучше делать через XPath, чем регвырами. Т.е. ссылка на страницу и пример, как просто из нее достать определенное содержимое с пом. XPath, а с регвыр мол затрахаешься )
достаточно вложенных таблиц, комментариев, атрибутов, CDATA разделов, Entity-кодов
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39070232
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174а это не факт , что на одном и том же. попробуй вывести контент из сервлета - наверняка что-нибудь обнаружишь
Да так и оказалось - в SE доставал немного по-другому и контент получался с символами новой строки.
Но все равно досадно, что поиск по РВ может в принципе наглухо виснуть.
Или надо запускать его в отд. потоке и вырубать по таймауту на этот случай? )
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39070244
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDS,

Вряд ли он наглухо виснет, просто уходит в какую-нибудь глубокую рекурсию. Все толковые советы уже дали выше. Остальное - костыли.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39070255
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно, что уходит, но по времени все равно что наглухо ) Посмотрю еще XPath конечно.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39073797
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDS,

Я не знаю кем надо быть чтобы игнорировать Jsoup в пользу регулярок. На столько всё просто и эффективно можно вытянуть через внятный парсер с селекторами. Нет, же, будем грызть кактус.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39074162
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczJDS,

Я не знаю кем надо быть чтобы игнорировать Jsoup в пользу регулярок.
+1
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39074516
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz , спасибо за наводку, интересно.
...
Рейтинг: 0 / 0
Регулярка для поиска html-тега TR
    #39074570
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению старый кактус очень часто рекомендован лучшими кактусоводами как лекарство
от всех болезней.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Регулярка для поиска html-тега TR
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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