Nigdy nie byłem dobry w wyrażeniach regularnych, więc zwracam się o pomoc
Mam obecnie takie wyrażenie:
/http(?:s?):\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)(\-*\w*)(&(amp;)?[\w\?=]*)?/
Które wybiera mi identyfikator z YouTube. I teraz łapie mi tak:
1bHnDd-XgITY
1bHnDdXgITY
-1bHnDd-XgITY
Dwa ostatnie mi łapie, pierwszego nie. A pierwszy jest poprawnym identyfikatorem. Wiem, że problem jest tutaj: (-\w)
To mi pozwala mieć myślnik i ileś tam liter. Niestety, nie wiem jak to zmienić, by łapało mi też myślniki wewnątrz samego tekstu. Póki co mam „brudne” rozwiązanie typu: (-\w-\w-\w-\w-\w-\w-\w) ale to jest zupełnie bez sensu, po za faktem, że działa
Ktoś wie, jak ten fragment poprawić? Myślnik jak się okazuje, może być w środku, jak i na końcu całości. Końcowy wiem, jak zrobić ale nie wiem co ze środkiem.