Witam. Mam za zadanie napisać regex, który pokaże nazwy opcjonalnie zaczynające się na #, a do tego mające 6 znaków w postaci duże litery/cyfry lub małe litery/cyfry. Ewentualny # nie należy do tych 6 znaków. W momencie gdy występuje # to całe wyrażenie ma wtedy 7 znaków. Nie mogę znaleźć rozwiązania na wyświetlanie się tych 6 znaków w danym formacie. Wydaje mi się, że musi to być coś z operatorem |, ale ([A-Z0-9]\{6}|[a-z0-9]\{6}) nie jest prawidłowe. Ktoś mógłby mi wytłumaczyć jak to zapisać? Przeszukałem kilka stron, ale nie mogłem znaleźć odpowiedzi na pytanie. Rozwiązaniem nie pogardzę, ale też chciałbym zrozumieć jak to zapisać by wykorzystywać to w przyszłości.
"^[#]?([A-Z0-9]\{6}|[a-z0-9]\{6})$"