Учитывая следующие профили Facebook и URL-адреса страниц, я намереваюсь извлечь идентификаторы профиля или имена пользователей в первую позицию соответствия.
http://www.facebook.com/profile.php?id=123456789
http://www.facebook.com/someusername
www.facebook.com/pages/Regular-Expressions/207279373093
Регулярное выражение, которое у меня есть, выглядит примерно так
(?:http:\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(\d.*))?([\w\-]*)?
, который дает следующие результаты:
Результат 1
1. 123456789
Результат 2
1.
2. имя пользователя
Результат 3
1.
2. 207279373093
Идеальный результат будет выглядеть так:
Результат 1
1. 123456789
Результат 2
1. someusername
Результат 3
1. 207279373093
То есть я хотел бы, чтобы идентификатор профиля всегда возвращался на первой позиции.
Было бы также идеально, если бы www.facebook.com/ и facebook.com/ тоже не подходили.