Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #29087 > unrolled thread
| Started by | Roman Tyczka <noemail@because.no> |
|---|---|
| First post | 2016-10-11 23:36 +0200 |
| Last post | 2016-11-09 13:23 +0100 |
| Articles | 6 — 4 participants |
Back to article view | Back to pl.comp.programming
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
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-10-11 23:36 +0200 |
| Subject | wyraż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]
| From | bartekltg <bartekltg@gmail.com> |
|---|---|
| Date | 2016-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]
| From | "M.M." <mmarszik@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-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]
| From | godek.maciek@gmail.com |
|---|---|
| Date | 2016-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]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2016-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