7.3. Odnajdywanie w dłuższym tekście adresów URL otoczonych cudzysłowami

Problem

Chcemy odnajdywać adresy URL w dłuższym tekście. Dopasowywane adresy mogą, ale nie muszą być otoczone znakami interpunkcyjnymi, które należy traktować jako część tekstu, nie samych adresów URL. Chcemy też umożliwić użytkownikom umieszczanie adresów w cudzysłowach, aby mogli wprost określać, czy ewentualne znaki interpunkcyjne, a nawet spacje powinny wchodzić w skład tych adresów.

Rozwiązanie

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

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.