m/(a*)/ das gleiche wie m/(.*)/ ??
Aquariophile
- perl
Hallo!
Zitat aus Selfhtml:
passt auf 'a' und 'aa' und 'aaaaa' und 'b' (kein oder beliebig viele 'a')
Das Probierte ich jetzt aus:
====================================================
perl -e '
$foo="saodjhajkl4";
if ($foo =~ m/(a*)/) { print "\nOK\n"; }
'
Meine Frage:
Wenn a* eh auf alles matcht,
wofuer dann überhaupt ein a hinschreiben,
dann ist das eh das gleiche wie .* oder?
Ich mein ich sehe keinen unterschied??
Danke
Aquariophile
Moin!
Meine Frage:
Wenn a* eh auf alles matcht,
wofuer dann überhaupt ein a hinschreiben,
dann ist das eh das gleiche wie .* oder?
Nein, ist es nicht. Der Sinn kommt, wenn du mehr als "nichts" finden willst.
/a*/ steht für "Null oder mehr A".
Wenn a* aber innerhalb eines komplexeren Ausdrucks steht, macht es Sinn:
/ba*b/ steht für "ein B, Null oder mehr A, und ein B". Also bb, bab, baab ...
/^a*$/ steht für "Anfang, Null oder mehr A, Ende" - ein String, der nur aus a bestehen darf.
Wenn du hingegen .* suchst, dann suchst du Null oder mehr beliebige Zeichen.
Wenn du /b.*b/ suchst, findest du bb, bab, bbb, bcb, bdb, baab, babb, bcdefgjb,...
Ich mein ich sehe keinen unterschied??
- Sven Rautenberg