eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingWyrazenie regularne - wiele linii
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2012-10-01 11:22:55
    Temat: Wyrazenie regularne - wiele linii
    Od: "R.e.m.e.K" <g...@d...null>

    Witam

    Standard PCRE. Chce wyszukac wzorzec w tekscie wielolinijkowym, ktory
    zaczyna sie w jednej linii a konczy w kolejnej (lub jeszcze dalej) i wyjac
    stamtad kawalek tekstu.

    np. zalozmy ze mam cos takiego do przeszukania:

    &znacznik1&#10#jakis krotki tekst#20#inny dlugi tekst
    ktory przechodzi do nowej linii#30# kolejny tekst#40nastepny
    ktory jest wieloliniowy
    &znacznik2&#10#jaklis tekst#20#inny dlugi tekst
    ktory takze przechodzi do nowej linii#30#tutaj zaczyna sie to
    czego szukam i chce to wyjac#40#nastepny tekst
    ktory jest wieloliniowy#50#i tak dalej

    i chce wydobyc tekst, ktory jest PO &znacznik2& i zawiera sie miedzy #30# a
    nastepnym hashem #

    Jak to zadeklarowac we wzorcu?

    Takim wzorce m:

    &znacznik2&(?:.*)#30#([ \p{L}]*)

    wydobede to czego szukam pod warunkiem ze usune wszystkie znaki konca linii.

    Czy da sie i jak szukac bez usuwania koncow linii?

    --
    pozdro
    R.e.m.e.K


  • 2. Data: 2012-10-01 11:43:11
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: Edek Pienkowski <e...@g...com>

    Dnia Mon, 01 Oct 2012 11:22:55 +0200, R.e.m.e.K napisal:
    > Czy da sie i jak szukac bez usuwania koncow linii?

    Zazwyczaj jest to opcja poza samym wyrażeniem. Kwestia
    bardziej narzędzia niż wyrażenia.

    --
    Edek


  • 3. Data: 2012-10-01 11:48:56
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2012-10-01, R.e.m.e.K <g...@d...null> wrote:
    > Standard PCRE. Chce wyszukac wzorzec w tekscie wielolinijkowym, ktory
    > zaczyna sie w jednej linii a konczy w kolejnej (lub jeszcze dalej) i wyjac
    > stamtad kawalek tekstu.
    [...]
    > Jak to zadeklarowac we wzorcu?
    >
    > Takim wzorce m:
    >
    > &znacznik2&(?:.*)#30#([ \p{L}]*)
    >
    > wydobede to czego szukam pod warunkiem ze usune wszystkie znaki konca linii.
    >
    > Czy da sie i jak szukac bez usuwania koncow linii?

    Dwie możliwości: albo włączyć znak nowej linii do wzorca (ktoś ci
    broni?), albo użyć opcji /s.

    --
    Secunia non olet.
    Stanislaw Klekot


  • 4. Data: 2012-10-01 21:19:32
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "M.M." <m...@g...com>

    W dniu poniedziałek, 1 października 2012 11:22:56 UTC+2 użytkownik R.e.m.e.K napisał:
    > Standard PCRE. Chce wyszukac wzorzec w tekscie wielolinijkowym, ktory
    > zaczyna sie w jednej linii a konczy w kolejnej (lub jeszcze dalej) i wyjac
    > stamtad kawalek tekstu.
    Ostatnio zamienilem wszystkie znaki nowego wiersza na spacje w takiej sytuacji.
    Pozdrawiam


  • 5. Data: 2012-10-01 21:31:09
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Mon, 1 Oct 2012 09:48:56 +0000 (UTC), Stachu 'Dozzie' K. napisał(a):

    >> Czy da sie i jak szukac bez usuwania koncow linii?
    >
    > Dwie możliwości: albo włączyć znak nowej linii do wzorca (ktoś ci
    > broni?),

    Ano troche broni - nie zawsze te teksty wychodza poza linie.

    > albo użyć opcji /s.

    Thx.

    --
    pozdro
    R.e.m.e.K


  • 6. Data: 2012-10-01 21:48:17
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Mon, 1 Oct 2012 09:43:11 +0000 (UTC), Edek Pienkowski napisał(a):

    >> Czy da sie i jak szukac bez usuwania koncow linii?
    >
    > Zazwyczaj jest to opcja poza samym wyrażeniem. Kwestia
    > bardziej narzędzia niż wyrażenia.

    Thx.

    --
    pozdro
    R.e.m.e.K


  • 7. Data: 2012-10-01 21:50:00
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "R.e.m.e.K" <g...@d...null>

    Dnia Mon, 1 Oct 2012 12:19:32 -0700 (PDT), M.M. napisał(a):

    >> Standard PCRE. Chce wyszukac wzorzec w tekscie wielolinijkowym, ktory
    >> zaczyna sie w jednej linii a konczy w kolejnej (lub jeszcze dalej) i wyjac
    >> stamtad kawalek tekstu.
    > Ostatnio zamienilem wszystkie znaki nowego wiersza na spacje w takiej sytuacji.
    > Pozdrawiam

    Jednak poradzilem sobie bez takiej operacji.
    RE choc dosc skompilowane daja potezne mozliwosci. Ale uzywam ich rzadko i w
    nieduzym zakresie, stad "zawieszanie sie".

    --
    pozdro
    R.e.m.e.K


  • 8. Data: 2012-10-01 22:08:56
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2012-10-01, R.e.m.e.K <g...@d...null> wrote:
    > Dnia Mon, 1 Oct 2012 09:48:56 +0000 (UTC), Stachu 'Dozzie' K. napisał(a):
    >
    >>> Czy da sie i jak szukac bez usuwania koncow linii?
    >>
    >> Dwie możliwości: albo włączyć znak nowej linii do wzorca (ktoś ci
    >> broni?),
    >
    > Ano troche broni - nie zawsze te teksty wychodza poza linie.

    A nie da się napisać regexpa, który może zawierać zero lub więcej znaków
    NL?

    --
    Secunia non olet.
    Stanislaw Klekot


  • 9. Data: 2012-10-02 00:24:31
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "AK" <n...@n...com>

    Użytkownik "R.e.m.e.K" <g...@d...null> napisał:

    > Jednak poradzilem sobie bez takiej operacji.

    Akurat w pcre mozesz wstawic w samo wyrazenie znacznik mowiacy, ze ma byc trakowane
    jako multiline a nie singleline.
    (Podobnie jak w przypadku problemu greedy/nongreedy).

    AK


  • 10. Data: 2012-10-02 18:01:26
    Temat: Re: Wyrazenie regularne - wiele linii
    Od: "M.M." <m...@g...com>

    W dniu wtorek, 2 października 2012 00:24:43 UTC+2 użytkownik AK napisał:
    > Użytkownik "R.e.m.e.K" <g...@d...null> napisał:
    > > Jednak poradzilem sobie bez takiej operacji.
    > Akurat w pcre mozesz wstawic w samo wyrazenie znacznik mowiacy, ze ma byc trakowane
    > jako multiline a nie singleline.
    > (Podobnie jak w przypadku problemu greedy/nongreedy).
    Starsze wersje Qt domyslnie dzialaly w inny sposob niz nowe.
    Jakby tego bylo malo mozemy przeczytac:
    [Note that QRegExp does not work properly for multi-line patterns. For Qt 5,
    replacements for QRegExp are being considered]
    Wiec ja zamienilem nowe linie na spacje i spie spokojnie.
    Pozdrawiam

strony : [ 1 ] . 2


Szukaj w grupach

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: