[Qt] Wyrażenie regularne

0

Cześć, chciałem sobie ustawić w LineEdit wyrażenie, które pozwala wprowadzać liczby i litery, ale nie pozwala wprowadzać na początku spacji, oraz przede wszystkim nie pozwala na wprowadzanie znaków '.:- więcej niż raz, po nich musi po prostu wystąpić jakaś cyfra lub litera, dopiero wtedy ponownie można wprowadzić jeden z tych znaków i właśnie z tym mam problem. Oto co napisałem:

line->setValidator(new QRegExpValidator(QRegExp("[^ ](([0-9a-zA-ZąęćżźółńĄĘĆŻŹŁÓŃ]*)|([ '.:-]?))*"), line));
0

Jeśli jeszcze nie doszedłeś jak to rozwiązać to lepiej zrób sobie slota podpiętego do testChanged(), textEdited(). W tym slocie zrób sobie parsowanie zawartości lineEdita. Idę o piątaka że szybciej się z tym uporasz niż z nauczeniem się obsługi wyrażeń regularnych.

0

Podaj parę przykładów (pozytywnych i negatywnych) by było bardziej jasne o co chodzi, wtedy na 100% ktoś ci poda najlepsze wyrażenie regularne.

Jeśli dobrze rozumiem czego ci potrzeba:

QRegExp("^[\\w\\d][\w\\d ]*['\\.:-]?[\\w\\d ]*")

tu możesz przetestować wyrażenie regularne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1