Я пытаюсь проверить, является ли данный URL-адрес twitch.tv, а затем извлекает из него имя канала. Я пришел с этим регулярным выражением:Extract Twitch ursername from url
preg_match("/^[(http|https):\/\/www.twitch.tv\/]+((?:[a-zA-Z0-9][\w]{3,24}))$/", $url, $output_array);
Я, кажется, работает, но только если первые символы имени пользователя не один из них (ш, т, р, с, ч, с, v, б)
Например, если я ввожу URL: https://www.twitch.tv/AchannelName
Это будет:
0 =>
https://www.twitch.tv/AchannelName
1 =>AchannelName
Но следующему адресу: https://www.twitch.tv/
channelName` Это будет:
0 =>
https://www.twitch.tv/channelName
1 =>annelName
PS: Я используя [a-zA-Z0-9], потому что имя пользователя не может начинаться с подчеркивания.
Я пробовал это так: 'preg_match ("/^ [(http | https): \/\/www \ .twitch \ .tv \ /] + ((#)? [A-zA-Z0-9] [\ w] {2,24}) $/", $ input_line, $ output_array);' и я не работал, он имеет тот же эффект ... Просто пропускает символы (w, t, p, s , h, c, v) Вы можете протестировать его здесь http://www.phpliveregex.com/ – DiyanDesigns
Эй, я обновил свой ответ! Его немного другой подход, но должен быть полезен @DiyanDesigns – Vedant
Спасибо за ваше время, я уверен, он работает, но я уже исправил свою проблему, добавив параметр Ungreedy @Vedant – DiyanDesigns