Thread $1 bei Regex (23 answers)
Opened by Gast at 2006-01-12 16:04

Crian
 2006-01-12 17:36
#61868 #61868
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=micross,12.01.2006, 16:27]Ausgabe: wenn Treffer dann ausgeben, wenn kein Treffer dann
nichts ausgeben![/quote]
Ja, aber da steckt doch ein if drin?

Mäßige deinen Ton. Im zweiten Beitrag gleich regulars anzumachen ist kein guter Stil...

Mein Beitrag sollte dein Problem von einer etwas höheren Warte beleuchten, um dir die Unlogik aufzuzeigen.

Zu deinem "Problem": $1 wird gesetzt, wenn etwas gefangen wird. Wenn nichts gefangen wird, behält es den alten Inhalt.

Code: (dl )
1
2
3
4
5
my @data = qw/ei nur bein flur stein/;
for (@data) {
m~(ei)~;
print "$_ -> [$1]\n";
}


Ausgabe:
Code: (dl )
1
2
3
4
5
ei -> [ei]
nur -> [ei]
bein -> [ei]
flur -> [ei]
stein -> [ei]



Eine Möglichkeit mit verstecktem if:

Code: (dl )
1
2
3
4
5
my @data = qw/ei nur bein flur stein/;
for (@data) {
m~(ei)~ &&
print "$_ -> [$1]\n";
}


Ausgabe:
Code: (dl )
1
2
3
ei -> [ei]
bein -> [ei]
stein -> [ei]
\n\n

<!--EDIT|Crian|1137080693-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread $1 bei Regex