7.4. Odnajdywanie w dłuższym tekście adresów URL z nawiasami okrągłymi

Problem

Chcemy odnajdywać adresy URL w dłuższym tekście. Dopasowywane adresy mogą, ale nie muszą być otoczone znakami interpunkcyjnymi wchodzącymi w skład tekstu (nie samych adresów URL). Chcemy też prawidłowo dopasowywać adresy URL zawierające pary nawiasów okrągłych (w ramach tych adresów), ale nawiasy otaczające całe adresy URL nie mają wchodzić w skład dopasowań.

Rozwiązanie

  • \b(?:(?:https?|ftp|file)://|www\.|ftp\.)
      (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*
      (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])
    • Opcje wyrażenia regularnego: Swobodne stosowanie znaków białych, ignorowanie wielkości liter

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

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.