5.4. Odnajdywanie wszystkich wyrazów z wyjątkiem określonego słowa

Problem

Chcemy użyć wyrażenia regularnego do dopasowania dowolnego pełnego wyrazu z wyjątkiem słowa cat. Nasze wyrażenie powinno pasować do wyrazu Catwoman i innych słów, które zawierają słowo cat, ale nie do samego słowa cat.

Rozwiązanie

Do dopasowywania słów z wyłączeniem określonego wyrazu można użyć operacji negatywnego wyszukiwania w przód — właśnie ta konstrukcja jest kluczem do rozwiązania tego problemu:

  • \b(?!cat\b)\w+

    • Opcje wyrażenia regularnego: Ignorowanie wielkości liter

    • Odmiany wyrażeń regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Analiza

Mimo że zanegowana klasa znaków (zapisywana jako <[^...]>) znacznie ułatwia dopasowywanie wszystkiego z wyjątkiem określonego ...

Get Wyrażenia regularne. Receptury 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.