5.11 Vollständige Zeilen finden, die ein bestimmtes Wort nicht enthalten

Problem

Sie wollen vollständige Zeilen finden, die nicht das Wort Ninja enthalten.

Lösung

^(?:(?!\bNinja\b).)*$
  • Regex-Optionen: Groß-/Kleinschreibung wird ignoriert, ^ und $ passen auf Zeilenumbruch (Punkt passt auf Zeilenumbruch darf nicht aktiv sein)

  • Regex-Varianten: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Diskussion

Um eine Zeile zu finden, die etwas nicht enthält, nutzen Sie negative Lookaheads (beschrieben in „2.16 Etwas auf Übereinstimmung prüfen, ohne es dem Gesamtergebnis hinzuzufügen“). Beachten Sie, dass in diesem regulären Ausdruck ein negatives Lookahead und ein Punkt zusammen in einer nicht-einfangenden Gruppe wiederholt werden. Damit ist sichergestellt, dass ...

Get Reguläre Ausdrücke Kochbuch 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.