Youtube-komplette Java Regex

Muss ich analysieren mehrere Seiten, um alle Ihre Youtube-IDs.

Fand ich viele reguläre Ausdrücke, die auf das web, aber : die Java-diejenigen, die nicht vollständig sind (entweder Sie geben mir Müll neben die IDs, oder Sie verpassen einige IDs).

Die, die ich gefunden, das scheint zu sein, vollständig gehostet wird hier. Aber es steht geschrieben in JavaScript und PHP. Leider konnte ich das nicht übersetzen in JAVA.

Kann mir jemand helfen diese umschreiben PHP regex oder den folgenden JavaScript-Code einer in Java?

'~
    https?://        # Required scheme. Either http or https.
    (?:[0-9A-Z-]+\.)? # Optional subdomain.
    (?:               # Group host alternatives.
      youtu\.be/     # Either youtu.be,
    | youtube\.com    # or youtube.com followed by
      \S*             # Allow anything up to VIDEO_ID,
      [^\w\-\s]       # but char before ID is non-ID char.
    )                 # End host alternatives.
    ([\w\-]{11})      # $1: VIDEO_ID is exactly 11 chars.
    (?=[^\w\-]|$)     # Assert next char is non-ID or EOS.
    (?!               # Assert URL is not pre-linked.
      [?=&+%\w]*      # Allow URL (query) remainder.
      (?:             # Group pre-linked alternatives.
        [\'"][^<>]*>  # Either inside a start tag,
      | </a>          # or inside <a> element text contents.
      )               # End recognized pre-linked alts.
    )                 # End negative lookahead assertion.
    [?=&+%\w]*        # Consume any URL (query) remainder.
    ~ix'
/https?:\/\/(?:[0-9A-Z-]+\.)?(?:youtu\.be\/|youtube\.com\S*[^\w\-\s])([\w\-]{11})(?=[^\w\-]|$)(?![?=&+%\w]*(?:['"][^<>]*>|<\/a>))[?=&+%\w]*/ig;
  • warum hat die optionalen subdomain nicht zulassen, dass für Kleinbuchstaben? Vielleicht möchten Sie das ändern, das Teil zu ...[0-9A-Za-z-]...
  • es ist die i Flagge.
  • ah, gut zu fangen, hat nicht gelesen, dass weit Voraus in der regex.
InformationsquelleAutor mossaab | 2011-10-25
Schreibe einen Kommentar