Wyrażenie regularne zwrot pomiędzy

0

Witam, potrzebuje wyciągnąć tekst pomiędzy określonym tekstem. Wyrażenie regularne wygląda tak
Match check = Regex.Match(webSource, "<img id="c100_(.+)</td></tr></table>");
jest z tym problem bo na jednej stronie mam 4 rodzaje takiego ciągu i zamiast zwrócić wszystko do pierwszego wystąpienia </td></tr></table>, to regex zwraca dopiero wszystko do ostatniego wystąpienia </td></tr></table>, czyli obejmuje wszystkie rodzaje tego ciągu, nie tylko pierwszy. Wiecie jak można temu zaradzić żeby szukał tylko do pierwszego?

Z góry dzięki!

0

Choćby nawet tak:

    private string getTestMatches(string input, string pattern){
      foreach (Match m in Regex.Matches(input, pattern)) 
         return "Text: " + m.Value + ", Index: " + m.Index;
    }
0

Tłumaczę jeszcze raz :P

Mam taki kod

<input id="c100_939934" bla bla sadf </td></tr></table>
<input id="c100_939933" aaaaaaaaa </td></tr></table>
<input id="c100_939932" bbbbbbbbb </td></tr></table>
<input id="c100_939931" cccccccccc </td></tr></table>

I przy moim patternie zwraca mi coś takiego:

939934" bla bla sadf </td></tr></table>
<input id="c100_939933" aaaaaaaaa </td></tr></table>
<input id="c100_939932" bbbbbbbbb </td></tr></table>
<input id="c100_939931" cccccccccc

a chciałbym aby zwracało coś takiego
939934" bla bla sadf

Chodzi o to, że ten pattern łapie się ostatniego znalezionego </td></tr></table> zamiast tego pierwszego

0

W ogóle pattern patrze, że jest zły... Przepraszam
Chodzi o ten pattern
<img id=\"c100_(.+)</td></tr></table>

0

Odświeżam, proszę pomóżcie, nie znoszę regexów :P

1

Zastosuj kwantyfikator niezachłanny.

0

Raczej działa, dzięki wielkie :)

1

Po kiego grzyba męczyć się z wyrażeniami regularnymi?
Wyrażenia regularne powinny być stosowane jedynie jako dane wejściowe aplikacji, a nie jako integralna część kodu aplikacji.

Masz kod strony, czyli coś co ma wyraźną składnie, dla których na dodatek masz gotowe rozwiązania do parsowania.
Weź jakiś parser DOM z C# dla html-a i korzystaj z jego dobrodziejstw na całego.
Będziesz mógł wyszukiwać znacznie bardziej skomplikowane rzeczy i na datek w o wiele bardziej niezawodny sposób.

1

Przytoczę słynną odpowiedź z SO na temat parsowania HTMLa używając regex:
http://stackoverflow.com/a/1732454/1184953

1 użytkowników online, w tym zalogowanych: 0, gości: 1