Des expressions régulières pour correspondre aux profils des médias sociaux

Ce repository enregistre des expressions régulières pour correspondre et extraire des informations des URL des profils des médias sociaux. Donc, si vous trouvez un hyperlien à ce repo quelque part sur le web, c’est-à-dire https://github.com/lorey/social-media-profiles-regexs/, les expressions régulières dans ce repo vous permettent de découvrir qu'il s'agit d'un lien GitHub indiquant un repo En outre, extraire le nom d'utilisateurloreyLe nom du reposocial-media-profiles-regexsde cette URL.

Les caractéristiques :

  • détecter la plate-forme d'un point d'URL à (toutes les principales plate-formes supportées)
  • extraire les informations contenues dans l’URL (sans ouvrir l’URL, bien sûr)
  • extraire les e-mails et les numéros de téléphone des hyperliens

Veuillez noter : Si vous voulez extraire des liens de médias sociaux, selon votre cas, il y a peut-être des façons plus faciles:

  • J’ai créé uneLa bibliothèque de Python s’appelle socialqui utilisent ces expressions pourDétection automatique d'URLet l’extraction des données. Vous entrez les urls, il extrait le type de plate-forme ainsi que les informations contenues, par exemple les profils des médias sociaux liés.
  • Il y a aussi unIncendie socialequi rend le pack social python disponible via REST et JSON. Vous pouvez l’utiliser gratuitement àsociétés.karllorey.comOu le déployez vous-même. Vous insérez tout simplement n'importe quel URL que vous voulez extraire des profils de. Il prendra ensuite et retournera tous les liens de médias sociaux du site Web donné. Essayezici.

Si vous manquez une plate-forme spécifique, veuillez vous sentir libre de l’ajouter. Il est également possible d’ajouter un test qui ne fonctionne pas. Une explication de la façon dont ces travaux repo peuvent être trouvés dansRésumé.md. Vous pouvez aussi ouvrir un problème, bien sûr, je suis heureux d'aider!

Table des contenus

Angéliste

Société

(?:https?:)?\/\/angel\.co\/company\/(?P<company>[A-z0-9_-]+)(?:\/(?P<company_subpage>[A-z0-9-]+))?

Les exemples :

  • HTTPS://angel.co/company/twitter
  • HTTPS://angel.co/company/twitter/culture

Travail

(?:https?:)?\/\/angel\.co\/company\/(?P<company>[A-z0-9_-]+)\/jobs\/(?P<job_permalink>(?P<job_id>[0-9]+)-(?P<job_slug>[A-z0-9-]+))

Les exemples :

  • HTTPS://angel.co/company/twitter/jobs/576275-ingénierie-manager

Utilisateur

(?:https?:)?\/\/angel\.co\/(?P<type>u|p)\/(?P<user>[A-z0-9_-]+)

Il y a des liens directs au niveau de la racine aux utilisateurs, par exemple angel.co/karllorey, qui sont redirigés vers ces nouveaux liens utilisateurs maintenant.

Les exemples :

  • HTTPS://angle.co/p/naval
  • HTTPS://angel.co/u/karllorey

Crunchbase

Société

(?:https?:)?\/\/crunchbase\.com\/organization\/(?P<organization>[A-z0-9_-]+)

Les exemples :

  • HTTP://crunchbase.com/organisation/acme-corp

Personne

(?:https?:)?\/\/crunchbase\.com\/person\/(?P<person>[A-z0-9_-]+)

Les exemples :

  • HTTP://crunchbase.com/personne/karl-lorey

E-mail

Meilleur

(?:mailto:)?(?P<email>[A-z0-9_.+-][email protected][A-z0-9_.-]+\.[A-z]+)

Ceci correspond aux courriels clairs et aux hyperliens mailto. Ce regex est destiné à l'écrasement et non à la validation. Voir pourquoi:« Votre logique de validation de l’e-mail est erronée ».

Les exemples :

Facebook

Profils

(?:https?:)?\/\/(?:www\.)?(?:facebook|fb)\.com\/(?P<profile>(?![A-z]+\.php)(?!marketplace|gaming|watch|me|messages|help|search|groups)[A-z0-9_\-\.]+)\/?

Un profil peut être une page, un profil d'utilisateur, ou quelque chose d'autre. Comme Facebook redirige ces URL à tous les types d'objets (utilisateur, pages, événements, etc.), vous devez vérifier qu'il est en fait un utilisateur. Voir https://developers.facebook.com/docs/graph-api/reference/profile

Les exemples :

  • HTTP://fb.com/peter_parker-miller
  • HTTPS://facebook.com/pétér.parker
  • HTTPS://facebook.com/pétérinaire

Profil par ID

(?:https?:)?\/\/(?:www\.)facebook.com\/(?:profile.php\?id=)?(?P<id>[0-9]+)

Les exemples :

  • HTTPS://www.facebook.com/100004123456789
  • HTTPS://www.facebook.com/profile.php?id=100004123456789

GitHub

Le repo

(?:https?:)?\/\/(?:www\.)?github\.com\/(?P<login>[A-z0-9_-]+)\/(?P<repo>[A-z0-9_-]+)\/?

Éliminez les sous-domains comme ces rediriger vers les pages de GitHub parfois.

Les exemples :

  • HTTPS://github.com/lorey/socials

Utilisateur

(?:https?:)?\/\/(?:www\.)?github\.com\/(?P<login>[A-z0-9_-]+)\/?

Éliminer les sous-domains autres quewww.Comme ces redirections vers les pages de GitHub parfois.

Les exemples :

  • HTTPS://github.com/lorey/

Google plus

ID utilisateur

(?:https?:)?\/\/plus\.google\.com\/(?P<id>[0-9]{21})

Il correspond aux chiffres de profil avec exactement 21 chiffres.

Les exemples :

  • HTTPS://plus.google.com/111111111111111111111111111111

Nom utilisateur

(?:https?:)?\/\/plus\.google\.com\/\+(?P<username>[A-z0-9+]+)

Le nom d’utilisateur.

Les exemples :

  • HTTPS://plus.google.com/ + googleplususername

Les hackers

Étiquette

(?:https?:)?\/\/news\.ycombinator\.com\/item\?id=(?P<item>[0-9]+)

Un article peut être un post ou un lien direct à un commentaire.

Les exemples :

  • HTTPS://news.ycombinator.com/item?id=23290375

Utilisateur

(?:https?:)?\/\/news\.ycombinator\.com\/user\?id=(?P<user>[A-z0-9_-]+)

Les exemples :

  • HTTPS://news.ycombinator.com/user?id=CamelCaps
  • HTTPS://news.ycombinator.com/user?id=dash-and-underscore_are-valid
  • HTTPS://news.ycombinator.com/user?id=lorey

sur instagram

Profils

(?:https?:)?\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/(?P<username>[A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:\.(?!\.))){0,28}(?:[A-Za-z0-9_]))?)

Les règles :

  • Je joue avec un. dans eux disco.dude mais pas deux.. disco..dude
  • La fin du délai ne correspond pas à la décomposition.
  • Résultats du match _disco__dude
  • Maximum de caractères 30 1234567890123456789012345678901234567890

Les exemples :

  • HTTPS://instagram.com/__disco__dude
  • HTTPS://instagram.com/disco.dude
  • HTTPS://www.instagr.am/__disco__dude

Le Linkedin

Société

(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/(?P<company_type>(company)|(school))\/(?P<company_permalink>[A-z0-9-À-ÿ\.]+)\/?

Ceci correspond aux sociétés et aux écoles. Permalink est un identifiant intégral ou un slug. Le identifiant permalinks redirige vers les permalinks slug dès qu'un est établi. Les permalinks peuvent contenir des personnages spéciaux. récemment, les liens d'entreprise qui sont réellement les écoles sont redirigés vers les / écoles / permalinks nouvellement introduits, voir l'exemple universitaire ci-dessous.

Les exemples :

  • HTTPS://fr.linkedin.com/école/université-grenoble-alpes/
  • HTTPS://linkedin.com/company/dash-company.io
  • HTTPS://www.linkedin.com/company/1234567/

Posté

(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/feed\/update\/urn:li:activity:(?P<activity_id>[0-9]+)\/?

Lien direct à un message LinkedIn, ne contient qu'un identifiant de poste.

Les exemples :

  • HTTPS://www.linkedin.com/feed/update/urn:li:activité:6665508550111912345/

Profils

(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/in\/(?P<permalink>[\w\-\_À-ÿ%]+)\/?

Ce sont les urls les plus courants qui finissent en /in/

Les exemples :

  • HTTPS://de.linkedin.com/in/peter-müller-81a8/
  • HTTPS://linkedin.com/in/carlorey

Étiquette_pub

(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/pub\/(?P<permalink_pub>[A-z0-9_-]+)(?:\/[A-z0-9]+){3}\/?

Ce sont des anciens urls publics qui ne sont plus utilisés, plus d'informations surLe quora

Les exemples :

  • HTTPS://linkedin.com/pub/karllorey/abc/123/be
  • HTTPS://www.linkedin.com/pub/karllorey/abc/123/be

médium

Posté

(?:https?:)?\/\/medium\.com\/(?:(?:@(?P<username>[A-z0-9]+))|(?P<publication>[a-z-]+))\/(?P<slug>[a-z0-9\-]+)-(?P<post_id>[A-z0-9]+)(?:\?.*)?

Les exemples :

  • HTTPS://medium.com/@karllorey/keeping-pandas-dataframes-clean-when-importing-json-348d3439ed67
  • HTTPS://medium.com/does-exist/some-post-123abc

Publication du sous-domain

(?:https?:)?\/\/(?P<publication>(?!www)[a-z-]+)\.medium\.com\/(?P<slug>[a-z0-9\-]+)-(?P<post_id>[A-z0-9]+)(?:\?.*)?

Ils ne peuvent pas correspondre au régime postale régime régime régime régime régime régime régime régime régime régime régime régime régime régime.

Les exemples :

  • https://onezero.medium.com/what-facebooks-remote-work-policy-means-for-the-future-of-tech-salaries-everywhere-edf859226b62?source=grid_home------

Utilisateur

(?:https?:)?\/\/medium\.com\/@(?P<username>[A-z0-9]+)(?:\?.*)?

Les exemples :

  • HTTPS://medium.com/@karllorey

Utilisateur par ID

(?:https?:)?\/\/medium\.com\/u\/(?P<user_id>[A-z0-9]+)(?:\?.*)

Maintenant, rediriger vers de nouveaux profils d'utilisateur. Suivez avec une tête ou recevez une demande.

Les exemples :

  • https://medium.com/u/b3d3d3653c2c?source=post_page-----da92b81b85ef------

Téléphone

Numéro de téléphone

(?:tel|phone|mobile):(?P<number>\+?[0-9. -]+)

Il faut ensuite être nettoyé pour couper les points, les espaces, etc.

Les exemples :

  • Téléphone : +49 900 123456
  • Numéro de téléphone : +49900123456

Reddit

Utilisateur

(?:https?:)?\/\/(?:[a-z]+\.)?reddit\.com\/(?:u(?:ser)?)\/(?P<username>[A-z0-9\-\_]*)\/?

Les exemples :

  • HTTPS://old.reddit.com/utilisateur/ar-guetita
  • HTTPS://reddit.com/u/ar-guetita

par skype

Profils

(?:(?:callto|skype):)(?P<username>[a-z][a-z0-9\.,\-_]{5,31})(?:\?(?:add|call|chat|sendfile|userinfo))?

Compatible avec les URL de Skype pour ajouter contact, appel, chat.Les dossiers de Skype SDK.

Les exemples :

  • Étiquette : echo123
  • Skype : echo123?

Le Snapchat

Profils

(?:https?:)?\/\/(?:www\.)?snapchat\.com\/add\/(?P<username>[A-z0-9\.\_\-]+)\/?

Les exemples :

  • HTTPS://www.snapchat.com/add/peterparker

Stackexchange

Utilisateur

(?:https?:)?\/\/(?:www\.)?stackexchange\.com\/users\/(?P<id>[0-9]+)\/(?P<username>[A-z0-9-_.]+)\/?

Ceci est la meta-plateforme au-dessus du stackoverflow, etc. Le nom d'utilisateur peut être modifié à tout moment, user_id est persistant.

Les exemples :

  • HTTPS://stackexchange.com/utilisateurs/12345/lorey

Réseau stackexchange

Utilisateur

(?:https?:)?\/\/(?:(?P<community>[a-z]+(?!www))\.)?stackexchange\.com\/users\/(?P<id>[0-9]+)\/(?P<username>[A-z0-9-_.]+)\/?

Bien qu’il y ait certaines communautés « nommées » dans le réseau stackexchange comme stackoverflow, beaucoup n’existent qu’en tant que sous-domains, c’est-à-dire gaming.stackexchange.com.

Les exemples :

  • HTTPS://gaming.stackexchange.com/utilisateurs/12345/lorey

Le stackoverflow

Question

(?:https?:)?\/\/(?:www\.)?stackoverflow\.com\/questions\/(?P<id>[0-9]+)\/(?P<title>[A-z0-9-_.]+)\/?

Les exemples :

  • HTTPS://stackoverflow.com/questions/12345/comment-to-embed

Utilisateur

(?:https?:)?\/\/(?:www\.)?stackoverflow\.com\/users\/(?P<id>[0-9]+)\/(?P<username>[A-z0-9-_.]+)\/?

Le nom d'utilisateur peut être modifié à tout moment, user_id est persistant.

Les exemples :

  • HTTPS://stackoverflow.com/utilisateurs/12345/lorey

Télégramme

Profils

(?:https?:)?\/\/(?:t(?:elegram)?\.me|telegram\.org)\/(?P<username>[a-z0-9\_]{5,32})\/?

Jeux pour t.me, telegram.me et telegram.org.

Les exemples :

  • HTTPS://t.me/pétérinaire

Twitter

Le statut

(?:https?:)?\/\/(?:[A-z]+\.)?twitter\.com\/@?(?P<username>[A-z0-9_]+)\/status\/(?P<tweet_id>[0-9]+)\/?

Les exemples :

  • HTTPS://twitter.com/karllorey/status/1259924082067374088

Utilisateur

(?:https?:)?\/\/(?:[A-z]+\.)?twitter\.com\/@?(?!home|share|privacy|tos)(?P<username>[A-z0-9_]+)\/?

Les noms d'utilisateur sont autorisés par des caractères alfanumériques et des sous-cores.

Les exemples :

  • HTTP://twitter.com/@karllorey
  • HTTP : www.twitter.com/carllorey
  • HTTPS : www.twitter.com et carlorey

Vimeo

Utilisateur

(?:https?:)?\/\/vimeo\.com\/user(?P<id>[0-9]+)

Les exemples :

  • HTTPS://vimeo.com/utilisateur46726126

Vidéo

(?:https?:)?\/\/(?:(?:www)?vimeo\.com|player.vimeo.com\/video)\/(?P<id>[0-9]+)

Les exemples :

  • HTTPS://player.vimeo.com/video/148751763
  • HTTPS://vimeo.com/148751763

xing

Profils

(?:https?:)?\/\/(?:www\.)?xing.com\/profile\/(?P<slug>[A-z0-9-\_]+)

Le numéro d'affichage est Firstname_Lastname.Si plusieurs personnes avec le même nom existent, un numéro est ajouté.

Les exemples :

  • HTTPS://www.xing.com/profile/Tobias_Zilbersahn5

Youtube

Le canal

(?:https?:)?\/\/(?:[A-z]+\.)?youtube.com\/channel\/(?P<id>[A-z0-9-\_]+)\/?

Les exemples :

  • HTTPS://www.youtube.com/channel/UC3y00Z1zFPc-8Z9xg8ydC-A
  • HTTPS://www.youtube.com/channel/UCtAh1m085QkEKYNg0j_6r8A

Utilisateur

(?:https?:)?\/\/(?:[A-z]+\.)?youtube.com\/user\/(?P<username>[A-z0-9]+)\/?

Les exemples :

  • HTTPS://www.youtube.com/utilisateur/JPPGmbH

Vidéo

(?:https?:)?\/\/(?:(?:www\.)?youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)(?P<id>[A-z0-9\-\_]+)

Il correspond aux liens vidéo youtube tels que https://www.youtube.com/watch?v=dQw4w9WgXcQ et aux courts liens tels que https://youtu.be/dQw4w9WgXcQ

Les exemples :

  • HTTPS://www.youtube.com/watch?v=dQw4w9WgXcQ
  • HTTPS://youtu.be/dQw4w9WgXcQ
  • HTTPS://youtube.com/embed/dQw4w9WgXcQ
  • HTTPS://youtube.com/watch?v=6_b7RDuLwcI

Le monstre Regex

Si vous voulez correspondre et extraire les données de tous les urls avec un regex, utilisez ce monstre. Il retournera les données pour toutes les plateformes ci-dessus. Les sous-groupes regex sont préfixes avec la plateforme, et g.angellist__companyAu lieu de justecompanydans la société angelliste regex, Parce que certaines applications régieuses ne supportent pas la définition de sous-groupes plus d'une fois qui introduirait des erreurs si le même nom de sous-groupes est utilisé sur deux ou plusieurs plateformes.

(?P<angellist__company>(?:https?:)?\/\/angel\.co\/company\/(?P<angellist__company__company>[A-z0-9_-]+)(?:\/(?P<angellist__company__company_subpage>[A-z0-9-]+))?)|(?P<angellist__job>(?:https?:)?\/\/angel\.co\/company\/(?P<angellist__job__company>[A-z0-9_-]+)\/jobs\/(?P<angellist__job__job_permalink>(?P<angellist__job__job_id>[0-9]+)-(?P<angellist__job__job_slug>[A-z0-9-]+)))|(?P<angellist__user>(?:https?:)?\/\/angel\.co\/(?P<angellist__user__type>u|p)\/(?P<angellist__user__user>[A-z0-9_-]+))|(?P<crunchbase__company>(?:https?:)?\/\/crunchbase\.com\/organization\/(?P<crunchbase__company__organization>[A-z0-9_-]+))|(?P<crunchbase__person>(?:https?:)?\/\/crunchbase\.com\/person\/(?P<crunchbase__person__person>[A-z0-9_-]+))|(?P<email__mailto>(?:mailto:)?(?P<email__mailto__email>[A-z0-9_.+-][email protected][A-z0-9_.-]+\.[A-z]+))|(?P<facebook__profile>(?:https?:)?\/\/(?:www\.)?(?:facebook|fb)\.com\/(?P<facebook__profile__profile>(?![A-z]+\.php)(?!marketplace|gaming|watch|me|messages|help|search|groups)[A-z0-9_\-\.]+)\/?)|(?P<facebook__profile_by_id>(?:https?:)?\/\/(?:www\.)facebook.com/(?:profile.php\?id=)?(?P<facebook__profile_by_id__id>[0-9]+))|(?P<github__repo>(?:https?:)?\/\/(?:www\.)?github\.com\/(?P<github__repo__login>[A-z0-9_-]+)\/(?P<github__repo__repo>[A-z0-9_-]+)\/?)|(?P<github__user>(?:https?:)?\/\/(?:www\.)?github\.com\/(?P<github__user__login>[A-z0-9_-]+)\/?)|(?P<google_plus__user_id>(?:https?:)?\/\/plus\.google\.com\/(?P<google_plus__user_id__id>[0-9]{21}))|(?P<google_plus__username>(?:https?:)?\/\/plus\.google\.com\/\+(?P<google_plus__username__username>[A-z0-9+]+))|(?P<hackernews__item>(?:https?:)?\/\/news\.ycombinator\.com\/item\?id=(?P<hackernews__item__item>[0-9]+))|(?P<hackernews__user>(?:https?:)?\/\/news\.ycombinator\.com\/user\?id=(?P<hackernews__user__user>[A-z0-9_-]+))|(?P<instagram__profile>(?:https?:)?\/\/(?:www\.)?(?:instagram\.com|instagr\.am)\/(?P<instagram__profile__username>[A-Za-z0-9_](?:(?:[A-Za-z0-9_]|(?:\.(?!\.))){0,28}(?:[A-Za-z0-9_]))?))|(?P<linkedin__company>(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/(?P<linkedin__company__company_type>(company)|(school))\/(?P<linkedin__company__company_permalink>[A-z0-9-À-ÿ\.]+)\/?)|(?P<linkedin__post>(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/feed\/update\/urn:li:activity:(?P<linkedin__post__activity_id>[0-9]+)\/?)|(?P<linkedin__profile>(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/in\/(?P<linkedin__profile__permalink>[\w\-\_À-ÿ%]+)\/?)|(?P<linkedin__profile_pub>(?:https?:)?\/\/(?:[\w]+\.)?linkedin\.com\/pub\/(?P<linkedin__profile_pub__permalink_pub>[A-z0-9_-]+)(?:\/[A-z0-9]+){3}\/?)|(?P<medium__post>(?:https?:)?\/\/medium\.com\/(?:(?:@(?P<medium__post__username>[A-z0-9]+))|(?P<medium__post__publication>[a-z-]+))\/(?P<medium__post__slug>[a-z0-9\-]+)-(?P<medium__post__post_id>[A-z0-9]+)(?:\?.*)?)|(?P<medium__post_of_subdomain_publication>(?:https?:)?\/\/(?P<medium__post_of_subdomain_publication__publication>(?!www)[a-z-]+)\.medium\.com\/(?P<medium__post_of_subdomain_publication__slug>[a-z0-9\-]+)-(?P<medium__post_of_subdomain_publication__post_id>[A-z0-9]+)(?:\?.*)?)|(?P<medium__user>(?:https?:)?\/\/medium\.com\/@(?P<medium__user__username>[A-z0-9]+)(?:\?.*)?)|(?P<medium__user_by_id>(?:https?:)?\/\/medium\.com\/u\/(?P<medium__user_by_id__user_id>[A-z0-9]+)(?:\?.*))|(?P<phone__phone_number>(?:tel|phone|mobile):(?P<phone__phone_number__number>\+?[0-9. -]+))|(?P<reddit__user>(?:https?:)?\/\/(?:[a-z]+\.)?reddit\.com\/(?:u(?:ser)?)\/(?P<reddit__user__username>[A-z0-9\-\_]*)\/?)|(?P<skype__profile>(?:(?:callto|skype):)(?P<skype__profile__username>[a-z][a-z0-9\.,\-_]{5,31})(?:\?(?:add|call|chat|sendfile|userinfo))?)|(?P<snapchat__profile>(?:https?:)?\/\/(?:www\.)?snapchat\.com\/add\/(?P<snapchat__profile__username>[A-z0-9\.\_\-]+)\/?)|(?P<stackexchange__user>(?:https?:)?\/\/(?:www\.)?stackexchange\.com\/users\/(?P<stackexchange__user__id>[0-9]+)\/(?P<stackexchange__user__username>[A-z0-9-_.]+)\/?)|(?P<stackexchange_network__user>(?:https?:)?\/\/(?:(?P<stackexchange_network__user__community>[a-z]+(?!www))\.)?stackexchange\.com\/users\/(?P<stackexchange_network__user__id>[0-9]+)\/(?P<stackexchange_network__user__username>[A-z0-9-_.]+)\/?)|(?P<stackoverflow__question>(?:https?:)?\/\/(?:www\.)?stackoverflow\.com\/questions\/(?P<stackoverflow__question__id>[0-9]+)\/(?P<stackoverflow__question__title>[A-z0-9-_.]+)\/?)|(?P<stackoverflow__user>(?:https?:)?\/\/(?:www\.)?stackoverflow\.com\/users\/(?P<stackoverflow__user__id>[0-9]+)\/(?P<stackoverflow__user__username>[A-z0-9-_.]+)\/?)|(?P<telegram__profile>(?:https?:)?\/\/(?:t(?:elegram)?\.me|telegram\.org)\/(?P<telegram__profile__username>[a-z0-9\_]{5,32})\/?)|(?P<twitter__status>(?:https?:)?\/\/(?:[A-z]+\.)?twitter\.com\/@?(?P<twitter__status__username>[A-z0-9_]+)\/status\/(?P<twitter__status__tweet_id>[0-9]+)\/?)|(?P<twitter__user>(?:https?:)?\/\/(?:[A-z]+\.)?twitter\.com\/@?(?!home|share|privacy|tos)(?P<twitter__user__username>[A-z0-9_]+)\/?)|(?P<vimeo__user>(?:https?:)?\/\/vimeo\.com\/user(?P<vimeo__user__id>[0-9]+))|(?P<vimeo__video>(?:https?:)?\/\/(?:(?:www)?vimeo\.com|player.vimeo.com\/video)\/(?P<vimeo__video__id>[0-9]+))|(?P<xing__profile>(?:https?:)?\/\/(?:www\.)?xing.com\/profile\/(?P<xing__profile__slug>[A-z0-9-\_]+))|(?P<youtube__channel>(?:https?:)?\/\/(?:[A-z]+\.)?youtube.com\/channel\/(?P<youtube__channel__id>[A-z0-9-\_]+)\/?)|(?P<youtube__user>(?:https?:)?\/\/(?:[A-z]+\.)?youtube.com\/user\/(?P<youtube__user__username>[A-z0-9]+)\/?)|(?P<youtube__video>(?:https?:)?\/\/(?:(?:www\.)?youtube\.com\/(?:watch\?v=|embed\/)|youtu\.be\/)(?P<youtube__video__id>[A-z0-9\-\_]+))