Thread RegEx mit bedingter Ersetzung
(11 answers)
Opened by micha2 at 2023-07-09 13:44
Ich möchte (zum analysieren einer Web-Seite) bedingte Ersetzung verwenden. Ich fange einfach an:
Code: (dl
)
echo 'abbc' | perl -pe "s,b,{print \"-\"},ge" # --a11c a unc c werden wegen -p zur Weiterverarbeitung mit | Pipe zurückgegeben. Allerdings ist die Ersetzung 11 statt -- und -- steht am Anfang. So funktioniert es: Code: (dl
)
echo 'abbc' | perl -pe "s,b,{\"-\"},ge" # a--c Mit bedingter Ersetzung und ohne print, bekomme ich ebenfalls a--c: Code: (dl
)
1 echo 'abbc' | perl -pe "s,b,{if (1) {print \"-\"}},ge" # --a11c Code: (dl
)
1 echo 'abbc' | perl -pe "s,b,{if (1) {print \"<\"}; print \">\"; if (0) {print \"y\"}},ge" # <><>a00c Als Ersatztext wird nur der letzte Befehl B3 (mit Wert 0) aus B1; B2; B3 verwendet. Wie (??) kann ich a<><>c (also WertVonB1WertVonB2WertVonB3), mit mehreren bedingten Ersetzungen, bekommen? Code: (dl
)
echo 'abbc' | perl -?? "s,b,??,g??" # a<><>c Last edited: 2023-07-09 16:11:41 +0200 (CEST) |