Wyrażenia regularne z powtarzającymi się znakami
Muszę napisać wyrażenie regularne, które może wykryć ciąg zawierający tylko znaki x, y i z, ale gdzie znaki różnią się od swoich sąsiadów.
Oto przykład
xyzxzyz = Pass
xyxyxyx = Pass
xxyzxz = Niepowodzenie (powtórzenie x)
zzzxxzz = Fail (sąsiednie znaki są powtarzane)
Myślałem, że to zadziała ((x | y | z)?) *, Ale nie działa. Jakieś sugestie?
EDYTOWAĆ
Proszę zauważyć, że szukam odpowiedzi, która nie pozwala na patrzenie w przyszłość lub za operacje. Jedyne dozwolone operacje to alternacja, konkatenacja, grupowanie i zamykanie