Kapitel 9. Textverarbeitung mit regulären Ausdrücken

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Du kannst reguläre Ausdrücke auch zum Ändern von Text verwenden. Bisher haben wir dir nur gezeigt, wie du ein Muster abgleichen kannst. Jetzt werden wir dir zeigen, wie du Muster verwenden kannst, um die Teile von Zeichenketten zu finden, die du ändern willst.

Ersetzungen mit s///

Wenn du dir die m// Musterübereinstimmung wie die "Suchfunktion" deines Textverarbeitungsprogramms vorstellst, wäre die "Suchen und Ersetzen"-Funktion Perls s///Ersetzungsoperator. Dieser ersetzt einfach den Teil einer Variablen, der mit dem Muster übereinstimmt, durch eine Ersatzzeichenfolge:

$_ = "He's out bowling with Barney tonight.";
s/Barney/Fred/;  # Replace Barney with Fred
print "$_\n";
Hinweis

Im Gegensatz zu m//, das mit jedem beliebigen String-Ausdruck übereinstimmen kann, ändert s///Daten, die daher in einem sogenannten lvalue enthalten sein müssen. Das ist fast immer eine Variable, aber es kann alles sein, was du auf der linken Seite eines Zuweisungsoperators verwenden kannst.

Wenn die Übereinstimmung fehlschlägt, passiert nichts, und die Variable bleibt unberührt:

# Continuing from previous; $_ has "He's out bowling with Fred tonight."
s/Wilma/Betty/;  # Replace Wilma with Betty (fails)

Natürlich können sowohl das Muster als auch die Ersetzungszeichenfolge komplexer sein. In diesem Fall verwendet die Ersetzungszeichenfolge ...

Get Perl lernen, 8. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.