Expression régulière pour trouver les Url dans le bloc de Texte (Javascript)
J'ai besoin d'une expression régulière en Javascript que de l'analyse d'un bloc de texte en clair et renvoie le texte avec les Url des liens.
C'est ce que j'ai:
findLinks: fonction(s) { var hlink = /\s(ht|f)tp:\/\/([^ \,\;\:\!\)\(\"\'\\f\n\r\t\v])+/g; le rendement.remplacer(hlink, la fonction($0, $1, $2) { s = $0.substring(1, $0.la longueur); tout (s).length > 0 && s.charAt(s).longueur - 1) == '.') s = s.substring(0, s.longueur - 1); return '' + s + "; })); }
le problème est qu'il ne fait correspondre http://www.google.com
et PAS google.com/adsense
Comment pourrais-je accomplir?
OriginalL'auteur Theofanis Pantelides | 2009-11-18
Vous devez vous connecter pour publier un commentaire.
J'en servent comme référence tout le temps. Ce mec a 8 regex est que vous devriez connaître.
http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/
Voici ce qu'il utilise pour trouver les URL
Il a également décompose ce que chaque partie ne. Très utile pour l'apprentissage de regex et pas seulement de recevoir une réponse qui fonctionne pour des raisons que vous ne comprenez pas.
cette expression ne fonctionne pas sur scénario donné
L'Email de validation avec la regex n'est pas trivial. Je pense que c'est plus pour l'apprentissage que pour l'utilisation dans les hardcore environnements de production. Toutefois, le modèle d'URL a bien fonctionné pour moi. Évidemment, il va avoir besoin de quelques ajustements si votre saveur de regex diffère.
Je vous aime!!! Le lien bien que, pas à 100% la réponse, m'a donné une bonne alternative.
il a des défauts mais c'est un bon point de départ
OriginalL'auteur MWill
C'est une tâche non triviale. Correspond à l'URI qui est valide conformément à la Rfc pertinentes vous avez besoin d'une monumentale complexe de l'expression régulière, et même alors, qui ne filtre pas les Uri non valide domaines de premier niveau (par exemple,http://brussels.sprout/). Donc, vous avez à faire des compromis. Déterminer ce qui est important pour vous (exemples: sont des faux positifs ou de faux négatifs plus acceptable? Voulez-vous la limite des domaines de niveau supérieur à ceux qui existent actuellement? Permettez-vous des caractères non latins dans appariés Uri?) Vous devez décider ce que vous devez vous expression régulière à faire et la conception de elle a, en conséquence plutôt que de copier aveuglément et coller un exemple à partir du web.
OriginalL'auteur Tim Down
Vous pouvez faire le protocole de la partie facultative:
/\s((ht|f)tp:\/\/)?([^ \,\;\:\!\)\(\"\'\\f\n\r\t\v])+/g
OriginalL'auteur FrustratedWithFormsDesigner
Essayez ceci (fonctionne avec votre exemple de texte)
OriginalL'auteur Rubens Farias