Учитывая следующие профили 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:
- 123456789
Результат 2:
- someusername
Результат 3:
- 207279373093
Идеальный результат будет выглядеть так:
Результат 1:
- 123456789
Результат 2:
- someusername
Результат 3:
- 207279373093
То есть я хотел бы, чтобы идентификатор профиля всегда возвращался на первой позиции.
Также было бы идеально, если бы www.facebook.com/и facebook.com/тоже не подходили.