🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
5 messages
5 total messages Started by Adam Kubicki Wed, 09 Jul 1997 18:06
problem z regexp
#433
Author: Adam Kubicki
Date: Wed, 09 Jul 1997 18:06
9 lines
998 bytes
chce wyciac z linii wszystko zaczynajace sie od '(' lub cyfry.
ponizszy warunek zle dziala, dla linii bez cyfr jest OK, jednak jesli jest
i '(' i cyfra pozniej, zaczyna od cyfry zamiast od wczesniejszego '('
ma ktos jakis pomysl?

/((\(|\d).*)/  -- cos takiego wg mnie powinno dzialac

jesli jest cyfra lub ( dziala OK, dla ( przed cyfra zle dziala. 
rozne wariacje tego - ([\(\d].*) itp tez nie dzialaja
Re: problem z regexp
#434
Author: Piotr Piatkowski
Date: Thu, 10 Jul 1997 09:07
16 lines
1327 bytes
Adam Kubicki <mikee@galaxy.uci.agh.edu.pl> wrote:
: chce wyciac z linii wszystko zaczynajace sie od '(' lub cyfry.
: ponizszy warunek zle dziala, dla linii bez cyfr jest OK, jednak jesli jest
: i '(' i cyfra pozniej, zaczyna od cyfry zamiast od wczesniejszego '('
: ma ktos jakis pomysl?

: /((\(|\d).*)/  -- cos takiego wg mnie powinno dzialac

: jesli jest cyfra lub ( dziala OK, dla ( przed cyfra zle dziala. 
: rozne wariacje tego - ([\(\d].*) itp tez nie dzialaja

Niemożliwe - u mnie działa, sprawdziłem. Możesz pokazać większy 
fragment programu w którym to nie chce działać?

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Re: problem z regexp
#435
Author: Adam Kubicki
Date: Fri, 11 Jul 1997 13:12
17 lines
1392 bytes
Piotr Piatkowski <kompas@galaxy.uci.agh.edu.pl> wrote:
: : /((\(|\d).*)/  -- cos takiego wg mnie powinno dzialac

: : jesli jest cyfra lub ( dziala OK, dla ( przed cyfra zle dziala. 
: : rozne wariacje tego - ([\(\d].*) itp tez nie dzialaja

: Niemożliwe - u mnie działa, sprawdziłem. Możesz pokazać większy 
: fragment programu w którym to nie chce działać?

masz racje, troche sie pospieszylem. nizej jest caly przyklad, chce w $1 miec 
to co jest przed tym drugim kawalkiem (zaczynajacym sie od ( lub cyfry)

perl -e '"blah blah (nawias i 01238)" =~ /(.*) ((\(|\d).*)/ && print "$1; $2\n"'

blah blah (nawias i; 01238)

jak widac to zle dziala, jesli przed 01238 nie ma spacji jest OK, co jest zle?
Re: problem z regexp
#436
Author: Maciej Jastrzebski pedro
Date: Fri, 11 Jul 1997 17:00
31 lines
1758 bytes
Adam Kubicki <mikee@galaxy.uci.agh.edu.pl> wrote:
[ ... ]
> masz racje, troche sie pospieszylem. nizej jest caly przyklad, chce w $1 miec 
> to co jest przed tym drugim kawalkiem (zaczynajacym sie od ( lub cyfry)

> perl -e '"blah blah (nawias i 01238)" =~ /(.*) ((\(|\d).*)/ && print "$1; $2\n"'

> blah blah (nawias i; 01238)

> jak widac to zle dziala, jesli przed 01238 nie ma spacji jest OK, co jest zle?

  Jesli problem lezy w tym, w czym mysle - czyli w maksymalnym dopasowaniu,
  to w Perlu 5 mozna wymusic dopasowanie minimalne przez '?':

perl -e '"blah blah (nawias i 01238)" =~ /(.*?) ((\(|\d).*)/ && print "$1; $2\n"'

A w Perl 4 trzeba na poczatku dopasowywac inaczej:


perl -e '"blah blah (nawias i 01238)" =~ /([^\(\d]*) ((\(|\d).*)/ && print "$1; $2\n"'

 Mam nadzieje, ze o to chodzilo.

 HTH, Pedro

-- 
Maciej "Pedro" Jastrzebski                  pedro@golem.umcs.lublin.pl

"As the people here grow colder / I turn to my computer
And spend my evenings with it / Like a friend."
                                     Kate Bush, "Deeper Understanding"
Re: problem z regexp
#437
Author: Adam Kubicki
Date: Fri, 11 Jul 1997 19:52
7 lines
1049 bytes
Maciej Jastrzebski <pedro@apollo.umcs.lublin.pl> wrote:
:   Jesli problem lezy w tym, w czym mysle - czyli w maksymalnym dopasowaniu,
:   to w Perlu 5 mozna wymusic dopasowanie minimalne przez '?':

: perl -e '"blah blah (nawias i 01238)" =~ /(.*?) ((\(|\d).*)/ && print "$1; $2\n"'

chodzi ladnie, dzieki
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads