Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5980[/thread]

reguläre ausdrücke: reguläre ausdrücke

Leser: 1


<< >> 5 Einträge, 1 Seite
Gast Gast
 2003-12-22 19:41
#76709 #76709
guten abend!

hab arge probleme einen geistreichen regulären ausdruck für folgendes suchen-ersetzen problem zu finden. hast jemand einen tip?

my $satz_bau = 0;
my string = 'dieser <auf tolle zu> satz soll <auf schnell zu> bearbeitet werden.';

if ($satz_bau eq 0) { #lösche die inhalte zwischen und incl. <auf ... zu># }
else { #lösche nur <auf und zu># }

ergebnisse wären:

dieser satz soll bearbeitet werden. (if)
dieser tolle satz soll schnell bearbeitet werden. (else)

gruß,
[E|B]
 2003-12-22 20:12
#76710 #76710
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
HiHo!

Code: (dl )
1
2
3
4
5
6
7
8
9
my $satz_bau = 0;
my $string  = 'dieser <auf tolle zu> satz soll <auf schnell zu> bearbeitet werden.';
if($satz_bau == 0){
         $string =~ s/<.+?>//gi;
}else{
         $string =~ s/<auf (.+?) zu>/$1/gi;
}

print $satz_bau;
\n\n

<!--EDIT|[E|B]|1072124203-->
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
DS
 2003-12-22 21:10
#76711 #76711
User since
2003-08-04
247 Artikel
BenutzerIn
[default_avatar]
[E|B
,22.12.2003, 19:12]HiHo!

Code: (dl )
1
2
3
4
5
6
7
8
9
my $satz_bau = 0;
my $string  = 'dieser <auf tolle zu> satz soll <auf schnell zu> bearbeitet werden.';
if($satz_bau == 0){
         $satz_bau =~ s/<.+?>//gi;
}else{
         $satz_bau =~ s/<auf (.+?) zu>/$1/gi;
}

print $satz_bau;

Öhm, ich hab's noch ned durch, aber zumindest gehört an einiges Stellen $satz_bau durch $string ersetzt...

Nachtrag:
Hab's mal leicht verändert:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
my $satz_bau = 0;
my $string   = 'Dieser <auf tolle zu> Satz soll <auf schnell zu> bearbeitet werden.';

if ( $satz_bau == 0 ) {
  $string =~ s/<auf .+? zu>//g;
} else {
  $string =~ s/<auf (.+?) zu>/$1/g;
}

print $string;
\n\n

<!--EDIT|DS|1072121333-->
[E|B]
 2003-12-22 22:17
#76712 #76712
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
@DS

Verstehe dich nicht genau. Wenn du meinst, dass die Variable $string ersetzt werden muss, dass habe ich verbessert.
aber ansonsten ist das Script doch eigentlich richtig... oder?
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
esskar
 2003-12-23 02:43
#76713 #76713
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
@EB: vergleich doch die endlösung von DS...
dann weißt du, ob DS dir zustimmt oder nicht! :)
<< >> 5 Einträge, 1 Seite



View all threads created 2003-12-22 19:41.