eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWyrażenia regularneRe: Wyrażenia regularne
  • Data: 2011-08-11 20:58:17
    Temat: Re: Wyrażenia regularne
    Od: Wojciech Muła <w...@p...null.onet.pl.invalid> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Thu, 11 Aug 2011 22:45:21 +0200 Karol Y <k...@o...pl> wrote:

    > Witam, mam mały problem; dla mnie póki co zagadkę. Próbuje sparsować
    > parametry i ich argumenty za pomocą wyrażenia regularnego i ciąg
    > który na wejściu mogę dostać wygląda:
    >
    > param1 arg1[, param2 arg2] ...
    >
    > a wyrażenie, które na razie wymyśliłem mam takie:
    >
    > "(?:param1 (?<p1>.*))?(?:, ?param2 (?<p2>.*))?" ...
    >
    > Problem w tym, że w takiej postaci otrzymuje złe wyniki dla grup p1 i
    > p2, bo:
    >
    > p1: arg1, param2 arg2
    > p2:

    Jeśli dopasowywany jest najdłuższy napis, to pierwsze ".*" dopasuje
    wszystko, włącznie z przecinkiem i co tam masz dalej. Spróbuj
    "[^,]*", tj. dowolny ciąg znaków prócz przecinka.

    Ogólnie, to wydaje mi się, że masz tam za dużo znaków zapytania,
    wystarczy jeden na parę (nazwa parametru, wartość).

    > Tak że ze zbioru ABCDE może wystąpić tylko ABD, ale kolejność będzie
    > zachowana. Czy taka gramatyka mieści się w ogóle w zakresie wyrażeń
    > regularnych?

    Tak. Przecież napisałeś wyrażenie, które dopasowuje napisy w podanej
    kolejności. :)

    w.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: