Witam,
Przy pisaniu programu napotkałem problem ze znacznikami. Fragment kodu wygląda tak:
jakies danedrugie jakies danetrzecie jakies dane
Mój problem polega na tym, że przy napisaniu wyrażenie regularnego
@"(?\w+)
wypisuje mi cała linie od pierwszego
do ostatniego , a nie wnętrze .
Dane między znacznikami mogą być różne, a chciałbym pojedynczo je wyciągać, a nie całą linią. Jak można to zrobić?
blapiter
(Blapiter)
28 Styczeń 2012 12:18
#3
Do zabawy z HTMLem polecam: HtmlAgilityPack=>http://olussier.net/2010/03/30/easily-parse-html-documents-in-csharp/
Generalnie można poruszać się prawie tak swobodnie jak w javescript DOM.
matzu
(Tomek Matz)
28 Styczeń 2012 12:47
#4
drobok , przy dwóch znakach ? wywala mi błąd, a przy jednym robi to zachłannie.
– Dodane 28.01.2012 (So) 15:35 –
matzu , interesuje odpowiedź tyle, że tego HtmlAgilityPack nie mogę użyć, mam napisać sam taki.
matzu
(Tomek Matz)
28 Styczeń 2012 15:51
#6
Wyrażenia regularne nie nadają się do parsowania kodu HTML, bo może on zawierać błędy (poza tym jest jeszcze kwestia wydajności takiego podejścia).
(?.*?)
BTW do testowania wyrażeń regularnych polecam bardzo fajny programik http://www.radsoftware.com.au/regexdesigner/ .
A co byś polecał do parsowania kody HTML?
matzu
(Tomek Matz)
28 Styczeń 2012 17:18
#8
Heh … No przecież w moim przedostatnim poście podałem link do tematu, w którym już udzieliłem odpowiedzi na to pytanie (w tamtym temacie podałem też link do bardzo ciekawej dyskusji dotyczącej parsowania HTML). Z mojej strony EOT (chyba, że będziesz miał jakiś problem z wyrażeniem regularnym, które podałem przed chwilą).