Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |
The QRegExpValidator class is used to check a string against a regular expression. More...
#include <qvalidator.h>
Inherits QValidator.
QRegExpValidator contains a regular expression, "regexp", used to determine whether an input string is Acceptable, Intermediate or Invalid.
The regexp is treated as if it begins with the start of string assertion, ^, and ends with the end of string assertion $ so the match is against the entire input string, or from the given position if a start position greater than zero is given.
For a brief introduction to Qt's regexp engine see QRegExp.
Example of use:
// regexp: optional '-' followed by between 1 and 3 digits QRegExp rx( "-?\\d{1,3}" ); QRegExpValidator validator( rx, 0 ); QLineEdit *edit = new QLineEdit( split ); edit->setValidator( &validator );
Below we present some examples of validators. In practice they would normally be associated with a widget as in the example above.
// integers 1 to 9999 QRegExp rx( "[1-9]\\d{0,3}" ); // the validator treats the regexp as "^[1-9]\\d{0,3}$" QRegExpValidator v( rx, 0 ); QString s; s = "0"; v.validate( s, 0 ); // returns Invalid s = "12345"; v.validate( s, 0 ); // returns Invalid s = "1"; v.validate( s, 0 ); // returns Acceptable rx.setPattern( "\\S+" ); // one or more non-whitespace characters v.setRegExp( rx ); s = "myfile.txt"; v.validate( s, 0 ); // Returns Acceptable s = "my file.txt"; v.validate( s, 0 ); // Returns Invalid // A, B or C followed by exactly five digits followed by W, X, Y or Z rx.setPattern( "[A-C]\\d{5}[W-Z]" ); v.setRegExp( rx ); s = "a12345Z"; v.validate( s, 0 ); // Returns Invalid s = "A12345Z"; v.validate( s, 0 ); // Returns Acceptable s = "B12"; v.validate( s, 0 ); // Returns Intermediate // match most 'readme' files rx.setPattern( "read\\S?me(\.(txt|asc|1st))?" ); rx.setCaseSensitive( FALSE ); v.setRegExp( rx ); s = "readme"; v.validate( s, 0 ); // Returns Acceptable s = "README.1ST"; v.validate( s, 0 ); // Returns Acceptable s = "read me.txt"; v.validate( s, 0 ); // Returns Invalid s = "readm"; v.validate( s, 0 ); // Returns Intermediate
See also QRegExp, QIntValidator, QDoubleValidator, and Miscellaneous Classes.
The match is made against the entire string, e.g. if the regexp is [A-Fa-f0-9]+ it will be treated as ^[A-Fa-f0-9]+$.
Returns the regular expression used for validation.
See also setRegExp().
See also regExp().
The start position is the beginning of the string unless pos is given and is > 0 in which case the regexp is matched from pos until the end of the string.
For example, if the regular expression is \w\d\d (that is, word-character, digit, digit) then "A57" is Acceptable, "E5" is Intermediate and "+9" is Invalid.
See also QRegExp::match() and QRegExp::search().
Reimplemented from QValidator.
This file is part of the Qt toolkit. Copyright © 1995-2003 Trolltech. All Rights Reserved.
Copyright © 2003 Trolltech | Trademarks | Qt version 3.1.2
|