Indagamos por distintos espacios y así darte la solución a tu problema, si continúas con alguna difcultad puedes dejarnos la inquietud y contestamos sin falta.
Solución:
Yo lo recomiendo Diseñador de expresiones regulares de Rad Software.
Además, esta herramienta en línea es excelente https://regex101.com/ (aunque la mayoría de la gente prefiere http://regexr.com/)
(?:(?:http|https)://)?(?:www.)?facebook.com/(?:(?:w)*#!/)?(?:pages/)?(?:[?w-]*/)?(?:profile.php?id=(?=d.*))?([w-]*)?
Hice una esencia hace un tiempo que funciona bien con los ejemplos dados:
# Matches patterns such as:
# http://www.facebook.com/my_page_id => my_page_id
# http://www.facebook.com/#!/my_page_id => my_page_id
# http://www.facebook.com/pages/Paris-France/Vanity-Url/123456?v=app_555 => 45678
# http://www.facebook.com/pages/Vanity-Url/45678 => 45678
# http://www.facebook.com/#!/page_with_1_number => page_with_1_number
# http://www.facebook.com/bounce_page#!/pages/Vanity-Url/45678 => 45678
# http://www.facebook.com/bounce_page#!/my_page_id?v=app_166292090072334 => my_page_id
/(?:http://)?(?:www.)?facebook.com/(?:(?:w)*#!/)?(?:pages/)?(?:[w-]*/)*([w-]*)/
Para obtener la última versión: https://gist.github.com/733592
Solo esta expresión regular funciona correctamente para todas las URL de FB:
/(?:https?://)?(?:www.)?(?:facebook|fb|m.facebook).(?:com|me)/(?:(?:w)*#!/)?(?:pages/)?(?:[w-]*/)*([w-.]+)(?:/)?/i
Comentarios y puntuaciones
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)