Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #29087 > unrolled thread

wyrażenie regularne

Started byRoman Tyczka <noemail@because.no>
First post2016-10-11 23:36 +0200
Last post2016-11-09 13:23 +0100
Articles 6 — 4 participants

Back to article view | Back to pl.comp.programming


Contents

  wyrażenie regularne Roman Tyczka <noemail@because.no> - 2016-10-11 23:36 +0200
    Re: wyrażenie regularne bartekltg <bartekltg@gmail.com> - 2016-10-11 23:51 +0200
    Re: wyrażenie regularne "M.M." <mmarszik@gmail.com> - 2016-10-11 19:43 -0700
    Re: wyrażenie regularne Roman Tyczka <noemail@because.no> - 2016-11-09 11:33 +0100
      Re: wyrażenie regularne godek.maciek@gmail.com - 2016-11-09 03:53 -0800
        Re: wyrażenie regularne Roman Tyczka <noemail@because.no> - 2016-11-09 13:23 +0100

#29087 — wyrażenie regularne

FromRoman Tyczka <noemail@because.no>
Date2016-10-11 23:36 +0200
Subjectwyrażenie regularne
Message-ID<ocli9o97vgj0$.dlg@tyczka.com>
Czy wyrażeniem regularnym da się sprawdzić poprawność łańcucha przy
założeniu, że ma w nim być określona liczba cyfr, która może, ale nie musi,
być poprzetykana innymi dozwolonymi znakami?

Np. dozwolone znaki to spacja i litera D, a cyfr ma być 10, zatem łańcuchy:

'123D4567 8D90' lub '1234567890' lub '1 2 3 4 5 6 7 8 9 0'

są poprawne.
Jak to ugryźć?

-- 
pozdrawiam
Roman Tyczka

[toc] | [next] | [standalone]


#29088

Frombartekltg <bartekltg@gmail.com>
Date2016-10-11 23:51 +0200
Message-ID<ntjmtn$378$1@node2.news.atman.pl>
In reply to#29087
On 11.10.2016 23:36, Roman Tyczka wrote:
>
> Czy wyrażeniem regularnym da się sprawdzić poprawność łańcucha przy
> założeniu, że ma w nim być określona liczba cyfr, która może, ale nie musi,
> być poprzetykana innymi dozwolonymi znakami?
>
> Np. dozwolone znaki to spacja i litera D, a cyfr ma być 10, zatem łańcuchy:
>
> '123D4567 8D90' lub '1234567890' lub '1 2 3 4 5 6 7 8 9 0'
>
> są poprawne.
> Jak to ugryźć?
>

Coś takiego?

[0-9]([ D]?[0-9]){9}

albo, jeśli przeszkadzajek może być więcej

[0-9]([ D]*[0-9]){9}

pzdr
bartekltg

[toc] | [prev] | [next] | [standalone]


#29090

From"M.M." <mmarszik@gmail.com>
Date2016-10-11 19:43 -0700
Message-ID<ce23bbdd-17d9-4934-966b-ed0a188a2535@googlegroups.com>
In reply to#29087
On Tuesday, October 11, 2016 at 11:36:21 PM UTC+2, Roman Tyczka wrote:
> Czy wyrażeniem regularnym da się sprawdzić poprawność łańcucha przy
> założeniu, że ma w nim być określona liczba cyfr, która może, ale nie musi,
> być poprzetykana innymi dozwolonymi znakami?
> 
> Np. dozwolone znaki to spacja i litera D, a cyfr ma być 10, zatem łańcuchy:
> 
> '123D4567 8D90' lub '1234567890' lub '1 2 3 4 5 6 7 8 9 0'
> 
> są poprawne.
> Jak to ugryźć?
> 
> -- 
> pozdrawiam
> Roman Tyczka

Da się wszystko sprawdzić, o ile testowana składnia nie dopuszcza
dowolnej ilości zagnieżdżeń. Skończoną ilość zagnieżdżeń też można
sprawdzać regexpem. Inna sprawa, czy da się wydajnie sprawdzić, nie
jestem pewny co jest akceptowalne w Twoim konkretnym przypadku.
Czasami pisze się mniej ścisłe, ale za to prostsze wyrażenia, może
wystarczy u Ciebie tak:
(\d+\D*)+
Albo tak:
(\D*\d+\D*)+
A może musisz tak:
(\d+[D ]*){10}
Albo tak
([D ]*\d+[D ]*){10}

Pozdrawiam.


[toc] | [prev] | [next] | [standalone]


#29250

FromRoman Tyczka <noemail@because.no>
Date2016-11-09 11:33 +0100
Message-ID<bxzlkrox98q$.dlg@tyczka.com>
In reply to#29087
On Tue, 11 Oct 2016 23:36:19 +0200, Roman Tyczka wrote:

Dzięki obu Panom za poprzednią pomoc. 
Mam kolejny chyba banalny problem, ale się zawiesiłem...

Mam string typu:

Content-ID: <http://tempuri.org/0>
Content-Transfer-Encoding:
8bit
Content-Type:
application/xop+xml;charset=utf-8;type="application/soap+xml"

<s:Envelope
xmlns:s="http...

I chcę złapać początek od tagu:

<s:Envelope

ale z założeniem, że litera s może być dowolnym innym ciągiem, czyli szukam
wzorca na <_dowolnyciag_:Envelope, niemniej wyrażenie:

<.*:Envelope .*

łapie wcześniej, od tagu <http

Myślałem, że wrzucę po prostu operator lazy czyli

<.*?:Envelope .*

i po kłopocie... ale to nic nie dało. 
Jak zatem nakazać regexpowi, by wziął klamrę otwierającą < najbliższą do
słowa Envelope z lewej strony?

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [next] | [standalone]


#29251

Fromgodek.maciek@gmail.com
Date2016-11-09 03:53 -0800
Message-ID<2e66119d-d269-493c-86bd-e3c3b81917f0@googlegroups.com>
In reply to#29250
W dniu środa, 9 listopada 2016 11:33:11 UTC+1 użytkownik Roman Tyczka napisał:
> On Tue, 11 Oct 2016 23:36:19 +0200, Roman Tyczka wrote:
> 
> Dzięki obu Panom za poprzednią pomoc. 
> Mam kolejny chyba banalny problem, ale się zawiesiłem...
> 
> Mam string typu:
> 
> Content-ID: <http://tempuri.org/0>
> Content-Transfer-Encoding:
> 8bit
> Content-Type:
> application/xop+xml;charset=utf-8;type="application/soap+xml"
> 
> <s:Envelope
> xmlns:s="http...
> 
> I chcę złapać początek od tagu:
> 
> <s:Envelope
> 
> ale z założeniem, że litera s może być dowolnym innym ciągiem, czyli szukam
> wzorca na <_dowolnyciag_:Envelope, niemniej wyrażenie:
> 
> <.*:Envelope .*
> 
> łapie wcześniej, od tagu <http
> 
> Myślałem, że wrzucę po prostu operator lazy czyli
> 
> <.*?:Envelope .*
> 
> i po kłopocie... ale to nic nie dało. 
> Jak zatem nakazać regexpowi, by wziął klamrę otwierającą < najbliższą do
> słowa Envelope z lewej strony?

A jeżeli nie dopuścisz dowolnych słów, a tylko takie, które np.
nie zawierają < i >:

<[^<>]*:Envelope

?

[toc] | [prev] | [next] | [standalone]


#29252

FromRoman Tyczka <noemail@because.no>
Date2016-11-09 13:23 +0100
Message-ID<ytowarr17lfg$.dlg@tyczka.com>
In reply to#29251
On Wed, 9 Nov 2016 03:53:27 -0800 (PST), godek.maciek@gmail.com wrote:

>> Jak zatem nakazać regexpowi, by wziął klamrę otwierającą < najbliższą do
>> słowa Envelope z lewej strony?
> 
> A jeżeli nie dopuścisz dowolnych słów, a tylko takie, które np.
> nie zawierają < i >:
> 
> <[^<>]*:Envelope
> 
> ?

No popatrz jaki ten regexp wielościeżkowy, jakoś pominąłem tą drogę ;-)
Thx!
Niemniej nadal ciekawi mnie czy jest możliwe zrobienie tego wg idei
opisanej w moim poprzednim poście.

-- 
pozdrawiam
Roman Tyczka

[toc] | [prev] | [standalone]


Back to top | Article view | pl.comp.programming


csiph-web