matcher.end() gives value 0 if the EOs have not yet been identified. Java
-
I'm continuing to deal with the regular expressions, writing a code not big for the html password, and there are several problems:
- In the first finding of the group 4, the value is null, the reason for the withdrawal has not been found, possibly the problem in the EO itself.
- In the course of the cycle, at the previous conclusion of the line teglwork, the value of matcher.end(1) is equal to 0, which makes a mistake, but since another line of this cannot happen, I can't find why the last line is not suitable for the EO. P.S. removes only 8 of the 9 matches that are available in String html.
This is the code.
boolean term = false; int count = 1; do{ term = false; String regexplwork = "(<DL>)<DT><li>(.+)|(.*)<A HREF=.+><b>(.+)</b></A> <b>.+k</b> ";//загружаем условия поиска Pattern pattern1 = Pattern.compile(regexplwork); Matcher matcher1 = pattern1.matcher(html); //производим поиск по условию String teglwork = ""; if (matcher1.find(count)) { teglwork = matcher1.group(4); //записываем в переменную необходимое значение группы 4 term = matcher1.find(); // условие работы цикла, вероятно это не правильное условие, но т.к. цикл до конца не может доработать, проверить не могу. if (matcher1.end(1) != 0){ count = matcher1.end(1);// записываю последний индекс найденного совпадения, что бы начать поиск новых совпадений с него. } } System.out.println(teglwork + " " + matcher1.find(count) + " count=" + count);// а теперь получаем вывод необходимых данных. }while(term);
The following line shall be stored in variable html:
<dl>
<!-------- вместо <body> вставятся ссылки на произведения! ------>
</small><p><font size=+1><b><a name=gr1><a href=index_1.shtml><font color=#393939>Дороги сказок</font></a>[2]</b></font><br>
<font color=#393939 size=-1><i>Долгие дороги сказок - все книги в одном файле.</i></font></p>
</small><p><font size=+1><b><a name=gr2><a href=index_2.shtml><font color=#393939>Творчество читателей</font></a>[2]</b></font><br>
<font color=#393939 size=-1><i>Здесь размещается творчество читателей по моим "Сказкам", за что им огромное СПАСИБО! Доступ открыт для всех</i></font></p>
</small><p><font size=+1><b><a name=gr3><a href=index_3.shtml><font color=#393939>Записки морфа.</font></a>[2]</b></font><br>
<font color=#393939 size=-1><i>Фантастика, чтиво без намеков на научность, ни на что не претендую, просто взгляд на вымышленный мир недалёкого будущего.Мир разменял третий десяток двадцать первого века. Россия стоит на пороге широкомасштабной войны, но случилось чудо. На орбите старушки Земли появилась инопланетная станция. создание чужого разума принялось "поливать" поверхность неизвестным излучением, вызвав тем самым миллионы жертв и навсегда изменив политическую карту мира. В России произошёл военный переворот,коренным образом изменивший одну шестую часть суши. вскоре появились первые последствия от излучения инопланетной бандуры - у людей начал изменяться код ДНК. Для чего это нужно станции и инопланетному разуму, чем это грозит землянам?ВНИМАНИЕ! ТЕКСТ СЕКВЕСТИРОВАН по требованию издательства. Договор ушёл в ЛенИздат.</i></font></p>
</small><p><font size=+1><b><a name=gr5>Столкновение:<gr0></b></font><br>
<font color=#393939 size=-1><i>Наш мир не единственный. Вселенная многогранна, Большой взрыв репродуцировал множество параллельных миров. миров технологических и магических, границу между которыми прочертило время, а так ли сильно отличаются миры и может ли магия проникнуть в наш мир? Что будет, если это произойдёт? а может наш мир когда-то сталкивался с магией?</i></font></p>
<DL><DT><li><A HREF=st.shtml><b>Столкновение. Часть 1.</b></A> <b>1145k</b> <small>Оценка:<b>5.90171</b> Фэнтези <A HREF="/comment/s/sapegin_a_p/st">Комментарии: 668 (12/11/2015)</A> </small><br><DD><font color="#555555">Общая сборка после правки ошибок. Низкий поклон моим добровольным бетам. Спасибо Виталий Н, Наталия, Андрей и Иван за Ваш труд и помощь. Отдельный поклон Семарглу за помощь в восстановлении утерянного отрывка. Первая книга полностью. Книга отправлена в издательство. Надеюсь на скорый выход в бумаге.</font><DD><small><a href=/img/s/sapegin_a_p/st/index.shtml>Иллюстрации/приложения: 5 шт.</a></small></DL>
<DL><DT><li><font color=red size=-2>Upd</font><A HREF=st6.shtml><b>Столкновение. 2 - я книга.</b></A> <b>528k</b> <small>Оценка:<b>6.45370</b> Фантастика, Фэнтези <A HREF="/comment/s/sapegin_a_p/st6">Комментарии: 28 (14/12/2015)</A> </small><br><DD><font color="#555555">Сводный файл на 13 декабря. Продолжаю накидывать текст. Жду ваших дельных советов и предложений по правкам крайнего содержимого. Спасибо за Ваши комментарии, уважаемые читатели, отдельный низкий поклон Ивану. По мотивам комментов 866, 867 и 876 в текст будут внесены правки - спасибо! По-прежнему принимаются замечания, советы, тапки, табуретки, а также аргументированная критика. Заявления: "Всё га**о" и "автор убейся ап стену", не рассматриваются. На неделе постараюсь обновиться ещё пару раз. С уважением, Александр Сапегин.</font><DD><small><a href=/img/s/sapegin_a_p/st6/index.shtml>Иллюстрации/приложения: 4 шт.</a></small></DL>
<DL><DT><li><font color=red size=-2>Upd</font><A HREF=st7.shtml><b>Столкновение. 2 - я книга. Прода.</b></A> <b>25k</b> <small>Оценка:<b>8.02*169</b> Фантастика, Фэнтези <A HREF="/comment/s/sapegin_a_p/st7">Комментарии: 338 (16/12/2015)</A> </small><br><DD><font color="#555555">Прода от 13 декабря, добавил чуть-чуть. Жду ваших дельных советов и предложений по правкам крайнего содержимого. Спасибо за Ваши комментарии, уважаемые читатели. Планируемый сюжет про Храм не завершён.С уважением, Александр Сапегин.</font><DD><small><a href=/img/s/sapegin_a_p/st7/index.shtml>Иллюстрации/приложения: 1 шт.</a></small></DL></small><p><font size=+1><b><a name=gr6>Фанфики по ГП: :<gr0></b></font><br>
<font color=#393939 size=-1><i>"Жизнь на лезвии бритвы". Автор - папа Евгении Сапегиной. Долгожданный доченькой фик.</i></font></p>
<DL><DT><li><font color=gray size=-2>Upd</font><A HREF=gp.shtml><b>Жизнь на лезвии бритвы.</b></A> <b>1003k</b> <small>Оценка:<b>6.35389</b> Фэнтези <A HREF="/comment/s/sapegin_a_p/gp">Комментарии: 164 (10/12/2015)</A> </small><br><DD><font color="#555555">Фанфик на Гарри Поттера. Пишется по просьбе любимой доченьки. Размер: миди-макси Пейринг: ГП/ГГ, ГП/ГД Рейтинг: РГ-13 Попаданцы - наше всё! Попаданец в ГП. МС, но сил на него положится много, бесплатных плюшек не будет. Избранный - не избранный, вся слава младшему братцу. Дамбигад (тот ещё гад), Снейпогад, Уизли идут лесом. Нормальные адекватные Дурсли. Джеймс Поттер жив. У ГП есть брат - Джейс. Сириус не сиделец Азкабана.</font></DL>
<DL><DT><li><font color=gray size=-2>Upd</font><A HREF=gp1.shtml><b>Жизнь на лезвии бритвы. Прода.</b></A> <b>0k</b> <small> Фэнтези <A HREF="/comment/s/sapegin_a_p/gp1">Комментарии: 210 (28/11/2015)</A> </small><br><DD><font color="#555555">Сюжет и 1-я часть книги завершены. далее лето и второй курс.</font><DD><small><a href=/img/s/sapegin_a_p/gp1/index.shtml>Иллюстрации/приложения: 6 шт.</a></small></DL>
<DL><DT><li><font color=brown size=-2>New</font><A HREF=gp2.shtml><b>Жизнь на лезвии бритвы. Книга вторая.</b></A> <b>63k</b> <small>Оценка:<b>8.61140</b> Фэнтези <A HREF="/comment/s/sapegin_a_p/gp2">Комментарии: 111 (14/12/2015)</A> </small><br><DD><font color="#555555">Прода от 06 декабря. Лето, будни, каникулы, почти ничего не происходит...</font></DL></small><p><font size=+1><b><a name=gr7>Питомец:<gr0></b></font><br>
<font color=#393939 size=-1><i>Повесть о необычном попаданце</i></font></p>
<DL><DT><li><A HREF=pitomec.shtml><b>Питомец</b></A> <b>275k</b> <small>Оценка:<b>6.47222</b> Фэнтези <A HREF="/comment/s/sapegin_a_p/pitomec">Комментарии: 433 (07/12/2015)</A> </small><br><DD><small><a href=/img/s/sapegin_a_p/pitomec/index.shtml>Иллюстрации/приложения: 8 шт.</a></small></DL>
<DL><DT><li><A HREF=pitomec-1.shtml><b>Питомец. прода</b></A> <b>50k</b> <small>Оценка:<b>6.74139</b> Фэнтези <A HREF="/comment/s/sapegin_a_p/pitomec-1">Комментарии: 499 (03/12/2015)</A> </small><br><DD><font color="#555555">Здравствуйте, уважаемые читатели! выкладка от 16 ноября. Данный раздел будет предназначен для прод и правки текста. Проды выкладываются частями и в основной текст не добавляются. Выкладывается новая, удаляется старая, и так до самого конца. Таким образом будет соблюдена коммерциализация проекта и возможные интересы Издательства. Пока загадывать рано, всё вилами по воде писано, но, возможно, "Питомец" поселится на бумаге. ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ДЛЯ ЧИТАТЕЛЕЙ! Третья попытка кардинально переписать окончание романа с треском провалилась. Автора ожидаемо понесло в дебри и в сторону, слишком много веток для возможных ответвлений оказалось заложено в книге, вот и пошёл я разрабатывать Южный континент и драконов, живущих там. Написал, почитал, что получилось и снёс, так как главный герой постепенно потерялся в сутолоке событий (есть за мной такая слабость и грех - "Столкновение" вам примером). Самая первая версия романа никак не хочет умирать, всеми своими килобайтами текста цепляясь за жизнь и отстаивая право считаться каноном. пусть так, смиряюсь, оставляя за собой право внести в него правки и включить в него малую часть наработок и повествований из мертворождённых переделок. Чуть добавится мотивации, уберутся некоторые противоречия, плеснётся немного войны, изменится концовка и судьба главгероя и главгероини. С уважением, Александр Сапегин.</font><DD><small><a href=/img/s/sapegin_a_p/pitomec-1/index.shtml>Иллюстрации/приложения: 5 шт.</a></small></DL></small><p><font size=+1><b><a name=gr8>Тоннельщики:<gr0></b></font><br>
<font color=#393939 size=-1><i>Фантастическо-производственный роман с элементами трудовых и боевых будней. Всем строителям тоннелей посвящается.(на научную ценность не претендую)</i></font></p>
<DL><DT><li><A HREF=tn.shtml><b>Тоннельщики</b></A> <b>132k</b> <small>Оценка:<b>6.46*64</b> Фантастика <A HREF="/comment/s/sapegin_a_p/tn">Комментарии: 150 (05/12/2015)</A> </small><br><DD><font color="#555555"> Маленькая прода от 15 марта 2015, прода выделена синим. Перевожу Тоннельщиков в разряд основных, думаю, проды теперь будут появляться регулярно. Черновик, не бечено. Производственно-приключенческий роман о космических тоннельщиках 26-го века от Р.Х. Производственные будни, политика, краткая история русского сектора, звёздолёты, сражения, красавицы и злобные пираты прилагаются.</font><DD><small><a href=/img/s/sapegin_a_p/tn/index.shtml>Иллюстрации/приложения: 1 шт.</a></small> </DL></dl>
I'll be grateful for the mistakes I've found in my code and how to eliminate them!
-
Option on Jsoup:
Document doc = Jsoup.parse( html ); // Выбрать все теги <b>, лежащие непосредственно внутри <a>, которые где-то там входят в <li> for ( Element element : doc.select( "li a>b" ) ) { System.out.println( element.text() ); }
Regular:
//<DL><DT><li><A HREF=st.shtml><b>Столкновение. Часть 1.</b></A> //<DL><DT><li><font color=red size=-2>Upd</font><A HREF=st6.shtml><b>Столкновение. 2 - я книга.</b></A> String regexplwork = "<DL><DT><li>(?:<font.+?</font>)?<A HREF=.+?><b>(.+?)</b></A>";//загружаем условия поиска Pattern pattern1 = Pattern.compile(regexplwork); Matcher matcher1 = pattern1.matcher(html);
while (matcher1.find()) {
System.out.println( matcher1.group(1) );
}
Flight management:
Operator
|
points out that the phrase coincides either with the one on the left of it or with the fact that on the right, that is, in your case, the line is either identical to that of yours.(<DL>)<DT><li>(.+)
or c(.*)<A HREF=.+><b>(.+)</b></A> <b>.+k</b>
♪ Accordingly, at first, the line coincided with the left part, then you retreated to four signs (the contents of the first group) and worked the right part, and the first group was empty, somatcher1.end(1)
back 0.Instead, a part that is not always in the line, can be indicated with with the quantifier(s)
?
:(?:<font.+?</font>)?
♪ Design(?: )
means an uncovered group, because it doesn't matter.