Примечания:
Я бы выполнил сопоставление без учета регистра для URL (/ i)
, соответствует чему угодно; использовать \. вместо этого, чтобы соответствовать URL
Также "www." в Youtube URL-адреса необязательны.
Используйте (\. [A-z] +) {1,2} вместо ". *", Чтобы сопоставить ".com", ".co.uk", .. после "youtube"
Предполагая, что часть "& feature" является необязательной, регулярное выражение будет:
/\[youtube\]http:\/\/(www\.)?youtube(\.[a-z]+){1,2}\/watch\?v=([a-z0-9_-]*)(&feature=([a-z]+))?\[\/youtube\]/is
Предполагается, что часть "& feature" является необязательной, И могут существовать другие параметры, кроме "feature":
/\[youtube\]http:\/\/(www\.)?youtube(\.[a-z]+){1,2}\/watch\?v=([a-z0-9_-]*)(&([a-z]+)=([a-z0-9_-])+)*?\[\/youtube\]/is