7.4 URLs mit Klammern in längerem Text finden

Problem

Sie wollen URLs in einem längeren Text finden. Dabei können links und rechts von den URLs Satzzeichen stehen, die aber nicht zur URL gehören. Sie wollen auch URLs finden, die Klammern enthalten, gleichzeitig aber eventuell vorhandene Klammern aus dem Suchergebnis heraushalten, die sich „außerhalb“ der URL befinden.

Lösung

\b(?:(?:https?|ftp|file)://|www\.|ftp\.)
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*
  (?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)|[A-Z0-9+&@#/%=~_|$])
  • Regex-Optionen: Freiform, Groß-/Kleinschreibung ignorieren

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

\b(?:(?:https?|ftp|file)://|www\.|ftp\.)(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\) |[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#/%=~_|$?!:,.]*\)| ...

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.