LoslegenKostenlos loslegen

Das Fragezeichen und seine zwei Bedeutungen

Der Oder-Operator ist gut, wenn du genau weißt, welche Optionen gültig sind, und auch sicher bist, dass eine der Optionen vorkommt. Aber was, wenn du ein Muster finden willst, bei dem ein Teil manchmal vorhanden ist und manchmal nicht? Hier kommt das Fragezeichen ? ins Spiel:

Das ? kann die unmittelbar vorherige Gruppe oder das vorherige Zeichen optional machen. Damit passt ein regulärer Ausdruck auch dann, wenn ein bestimmter Teil des Musters fehlt. Beachte jedoch: Folgt es auf einen Multiplikator wie * oder +, kann das Fragezeichen eine zweite Wirkung haben:

Das ? kann außerdem den vorherigen Multiplikator „lazy“ statt „greedy“ machen. Das bedeutet: Anstatt dass reguläre Ausdrücke die maximale Anzahl an Zeichen suchen, sorgt das ? dafür, dass die minimale Anzahl an Treffern gefunden wird.

Diese Übung ist Teil des Kurses

Fortgeschrittene Reguläre Ausdrücke in R

Kurs anzeigen

Anleitung zur Übung

  • Triff sowohl den Singular "Screen" als auch den Plural "Screens", indem du das letzte "s" optional machst.
  • Triff eine beliebige Menge an beliebigen Zeichen vor einem Komma mit .*.
  • Triff dasselbe Muster mit einem Fragezeichen ? nach dem Stern – erkennst du den Unterschied?

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Match both Screen and Screens by making the last "s" optional
str_match(lines, pattern = "Screens___")

# Match a random amount of arbitrary characters, followed by a comma
str_match(lines, pattern = "___,")

# Match the same pattern followed by a comma, but the "lazy" way
str_match(lines, pattern = "___,")
Code bearbeiten und ausführen