Facebook profil URL expression régulière
Le suivant Facebook profil et une page Url, mon objectif est d'extraire le profil de l'ids ou les noms d'utilisateur dans le premier match de la position.
http://www.facebook.com/profile.php?id=123456789
http://www.facebook.com/someusername
www.facebook.com/pages/Regular-Expressions/207279373093
La regex que j'ai ressemble tellement loin de ce
(?:http:\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(\d.*))?([\w\-]*)?
Qui donne les résultats suivants:
Résultat 1
1. 123456789
Résultat 2
1.
2. someusername
Résultat 3
1.
2. 207279373093
Le résultat idéal serait:
Résultat 1
1. 123456789
Résultat 2
1. someusername
Résultat 3
1. 207279373093
C'est-à-dire, j'aimerais avoir le profil de l'identificateur de toujours être retournée dans la première position.
Il serait idéal de www.facebook.com/et facebook.com/ne pas correspondre.
fait tout avec le mot facebook en elle sentir comme ça pour vous ? je ne pense pas assez d'informations pour déterminer ce que le script à l'aide de ce serait faire
Il n'est pas, mais pourquoi devriez-vous vous souciez si elle est ou si elle ne l'est pas?
Nope, juste généralement l'analyse d'url avec une API complète, en vain. (ca me rappelle la messe "Ajouter comme ami" scripts qui ont été sur myspace, TBH) -- @JoshDeeden: Pourquoi devrais-je m'en soucier? Compte tenu de la 6 ° à la règle, vous pouvez prendre beaucoup de noms sur facebook juste dans sa liste d'amis. Pas que de force brute 6 milliards d'id numérique est de ne pas obtenir de vous quelque part, mais je ne vois pas pourquoi vous auriez besoin d'analyser une url (non pas qu'il n'y a pas un usage légitime pour elle). Presque tout ce que vous avez besoin est dans l'API.
l'analyse de l'url est beaucoup plus simple que d'utiliser l'API...
OriginalL'auteur Josh Deeden | 2011-03-05
Vous devez vous connecter pour publier un commentaire.
Je le recommande Rad Logiciel Expression Régulière Designer.
Également cet outil en ligne est une grande https://regex101.com/ ( bien que la plupart des gens préfèrent http://regexr.com/ )
Semble que le regex ne reconnaît pas les url comme facebook.com/test.username . Des idées?
Ouai, ce n'est pas vraiment de travail.
Il semble fonctionner assez bien pour moi, à part le fait qu'il ne prend pas en compte https url, qui sont maintenant la norme.
Pour correspondre à facebook.com/test.username je suppose qu'il doit analyser . les caractères ainsi avec - par exemple (?:(?:http|https):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\.-]*)?
OriginalL'auteur n00b
J'ai fait un résumé d'un temps qui fonctionne très bien contre les exemples donnés:
Pour obtenir la version la plus récente: https://gist.github.com/733592
OriginalL'auteur marcgg
Le plus achevé de modèle pour Facebook profil url:
Il détecte tous les cas + une différence importante. D'autres modèles regex reconnaître http://www.facebook.com/ comme valide Facebook Profil d'URL alors que ce n'est pas un Profil valide url. C'est juste l'original Facebook URL et non à un utilisateur ou l'adresse de la page. Mais cette expression peut distinguer une normale url à partir d'un profil et l'url de la page et accepte uniquement les valide.
OriginalL'auteur Iman Sedighi
Seulement cette expression régulière fonctionne correctement pour toutes les FB Url:
OriginalL'auteur Mark Jobs
J'ai essayé tous seule réponse ci-dessus, et chacun ne fonctionne pas pour au moins une raison. Cette plus susceptibles de ne pas être utile à l'OP, mais si quelqu'un comme moi trouve cela dans une recherche sur le web, je crois que c'est la bonne réponse:
Prend en charge pratiquement tout ce que je pense, à l'exception de vérifier que le domaine contient facebook.com. Si vous avez besoin de vérifier si l'URL est valide, ce qui devrait être fait en dehors d'une expression régulière pour s'assurer que la page ou le profil existe réellement. Pourquoi vérifier deux fois, surtout quand l'un des chèques est incomplète?
OriginalL'auteur jkmartindale
Correspond facebook.com, m.facebook.com, mbasic.facebook.com et fb.moi (lien court)
Facebook URL regex DÉMO
OriginalL'auteur Sender
Cela fonctionne bien pour moi. Il peut détecter le profil personnel de l'url, et de l'exclure de toutes les pages de fans, et les groupes.
.+www.facebook.com\/[^\/]+$
OriginalL'auteur Vanson