Russian Qt Forum

Qt => Общие вопросы => Тема начата: UVV от Август 07, 2011, 13:06



Название: Вопрос в QRegExp
Отправлено: UVV от Август 07, 2011, 13:06
Привет.
Есть такое выражение:
Код:
QRegExp rx("(\\d{2})?(\\d{2})");

Что означает вопрос между скобками?


Название: Re: Вопрос в QRegExp
Отправлено: asvil от Август 07, 2011, 13:07
то что перед вопросом может появляться 1 раз а может не появляться вовсе. В данном случае regexp можно немного переделать.


Название: Re: Вопрос в QRegExp
Отправлено: UVV от Август 07, 2011, 13:37
Точно, спасибо.
А как можно переделать? Просто мне потом нужны обе группы по отдельности.


Название: Re: Вопрос в QRegExp
Отправлено: asvil от Август 07, 2011, 13:40
Так более логичнее.
Код:
QRegExp rx("(\\d{2})(\\d{2})?");
Одна группа всегда существует. Вторая может появится.
В вашем же случае первая группа будет содержать либо опциональную группу, либо обязательную.


Название: Re: Вопрос в QRegExp
Отправлено: UVV от Август 07, 2011, 13:42
Tnx