Я исследовал Regex и пытаюсь найти тот, который извлекает имя пользователя из различных URL-адресов Twitter. Я пришел с этим, но не в последнем примере, кто-нибудь может мне помочь?
/(https?:\/\/)?(www\.)?(twitter.com\/)?([@])?(\/status\/[0-9]{0,})?([a-z0-9_-])/ig
Тесты:
@Username <= "Username"twitter.com/username <= "username"www.twitter.com/username <= "username"http://twitter.com/username <= "username"https://twitter.com/username/status/608085900145197053 <= "username3" (FAILED)
Спасибо!
Я пришел с этим решением:
/(?:https?:\/\/)?(?:mobile\.)?(?:www\.)?(?:twitter.com\/)?(?:[@])?([a-z0-9_-])(?:\/status\/(?:[a-z0-9]{0,}))?(?:\?.(\=.)?(\&.)?)?/ig
это работает для всех этих случаев:
@Username
twitter.com/username
www.twitter.com/username
http://www.twitter.com/username
http://twitter.com/username
https://twitter.com/username/status/608085900145197053
https://mobile.twitter.com/Us3rName?p=s
https://mobile.twitter.com/user_name1/status/608128181753671680?p=v
Других решений пока нет …