C#, wyrażenia regularne, wyciąganie danych ze znaczników

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ć?

? zachłanny

?? leniwy

Chyba o to ci chodziło :slight_smile:

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.

Po co zadajesz pytanie na tym forum skoro i tak nie interesuje Cię odpowiedź?

http://forum.dobreprogramy.pl/regex-zmiana-wyrazenia-matchcollections-t471916.html

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.

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?

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ą).

Dziękuję za pomoc:)