Frage

Ich versuche nur alte Saiten für URLs zu suchen, die mit http beginnen, aber die ganze Regex Ich finde scheint nicht in Javascript Arbeit noch kann ich scheinen ein Beispiel dafür in Javascript zu finden.

Das ist das, was ich bin hier von zu verwenden versuchen und hier :

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

Aber wenn ich versuche, es zu laufen, erhalte ich „Unerwartete Zeichen |“ Fehler.

War es hilfreich?

Lösung

Ok, scheint ein Kommentar nicht genug zu sein, hart vollständige Antwort zu finden. Ich umschreiben ganze richtige regexp: (getestet, es funktioniert gut)

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

Die i an der Stirn bedeutet ‚ignorieren Fall‘, so dass es für diese regexp notwendig ist.

Andere Tipps

Sie verwenden / als regex Trennzeichen und werden auch in der regex (vor www) mit /, so die Regex endet tatsächlich nach dem ersten / vor www. Ändern Sie es an:

var test = /\b(?:(?:https?|ftp|file):\/\/www\.|ftp\.)[-A-Z0-9+&@#/%=~_|$?!:,.]*[A-Z0-9+&@#/%=~_|$]/;
                                     ^^^^ escape here
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top