5.11. Dopasowywanie kompletnych wierszy, które nie zawierają określonego słowa

Problem

Chcemy dopasowywać całe wiersze, które nie zawierają wyrazu ninja.

Rozwiązanie

  • ^(?:(?!\bninja\b).)*$

    • Opcje wyrażenia regularnego: Ignorowanie wielkości liter, dopasowywanie symboli ^ i $ do znaków podziału wiersza (tryb dopasowywania kropki do znaków podziału wiersza musi być wyłączony)

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

Analiza

Aby dopasować wiersz, który nie zawiera określonego słowa, należy zastosować konstrukcję negatywnego wyszukiwania w przód (opisaną w „2.16. Testowanie dopasowań bez ich dodawania do właściwego dopasowania”). Warto zwrócić uwagę na łączne powtórzenie (z wykorzystaniem grupy nieprzechwytującej) negatywnego ...

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.