Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Java] Regex
Forum PHP.pl > Forum > Przedszkole
gregi
Zbudowany regexp zwraca przy jednym wykonaniu raz: matcher.group() wszystkie wyniki (5) spełniajace warunek.
Jak zmodyfikować kod aby zwracał po jednym wyniku:

https://pl.wiktionary.org/wiki/blow_out#en-
  1. String regex = "(\\(\\d\\.\\d.+</a></dfn></dd>)";
  2. Pattern pattern = Pattern.compile(regex);
  3. Matcher matcher = pattern.matcher(contentFromUrl);
  4. while (matcher.find())
  5. {
  6. System.out.println(matcher.group() + "\n koniec");
  7. System.out.println();
  8.  
  9. }


zrwaca wszystko w jednej lini ( pętla wykonuje się tylko raz):
  1. (1.1) <a href="/w/index.php?title=zdmuchn%C4%85%C4%87&amp;action=edit&amp;redlink=1" class="new" title="zdmuchn±ć (strona nie istnieje)">zdmuchn±ć</a></dfn></dd><dd><dfn style="font-style: normal">(1.2) <a href="/wiki/gasi%C4%87" title="gasić">gasić</a></dfn></dd><dd><dfn style="font-style: normal">(1.3) <a href="/wiki/gasn%C4%85%C4%87" title="gasn±ć">gasn±ć</a></dfn></dd><dd><dfn style="font-style: normal">(1.4) <a href="/wiki/wybucha%C4%87" title="wybuchać">wybuchać</a> <a href="/wiki/w" title="w">w</a> <a href="/wiki/erupcja" title="erupcja">erupcji</a></dfn></dd><dd><dfn style="font-style: normal">(1.5) <a href="/wiki/awaria" title="awaria">awaria</a></dfn></dd>
  2. koniec

a pętla powinna wykonać się 5 razy :
(1.1) <a href="/w/index.php?title=zdmuchn%C4%85%C4%87&amp;action=edit&amp;redlink=1" class="new" title="zdmuchn±ć (strona nie istnieje)">zdmuchn±ć</a></dfn></dd><dd><dfn style="font-style: normal">
koniec
(1.2) <a href="/wiki/gasi%C4%87" title="gasić">gasić</a></dfn></dd><dd><dfn style="font-style: normal">
koniec
(1.3) <a href="/wiki/gasn%C4%85%C4%87" title="gasn±ć">gasn±ć</a></dfn></dd><dd><dfn style="font-style: normal">
koniec
(1.4) <a href="/wiki/wybucha%C4%87" title="wybuchać">wybuchać</a> <a href="/wiki/w" title="w">w</a> <a href="/wiki/erupcja" title="erupcja">erupcji</a></dfn></dd><dd><dfn style="font-style: normal">
koniec
(1.5) <a href="/wiki/awaria" title="awaria">awaria</a></dfn></dd>
Crozin
1. Dlaczego nie korzystasz z normalnego parsera HTML/XML?
2. Jeżeli jest jakikolwiek sensowny argument za użyciem tutaj wyrażeń to powiniene¶ przeczytać sobie o zachłanno¶ci wyrażeń (ang. greediness): https://docs.oracle.com/javase/tutorial/ess...egex/quant.html
gregi
a zaproponuj mi jaki¶ prarser bo nieznam zagadnienia
Crozin
Dowolny, popularny projekt jaki znajdziesz tutaj https://www.google.pl/webhp?sourceid=chrome...20html%20parser nada się. Osobi¶cie polecam jsoupa.
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.