Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Java] Regex, (\\(\\d\\.\\d.+</a></
gregi
post 7.12.2015, 12:00:20
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 11.09.2003

Ostrzeżenie: (0%)
-----


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>

Ten post edytował gregi 7.12.2015, 12:14:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Crozin
post 7.12.2015, 12:43:05
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
gregi
post 7.12.2015, 12:57:23
Post #3





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 11.09.2003

Ostrzeżenie: (0%)
-----


a zaproponuj mi jakiś prarser bo nieznam zagadnienia
Go to the top of the page
+Quote Post
Crozin
post 8.12.2015, 08:28:23
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Dowolny, popularny projekt jaki znajdziesz tutaj https://www.google.pl/webhp?sourceid=chrome...20html%20parser nada się. Osobiście polecam jsoupa.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:10