正则表达式的基本公式
表达式 + 量词 +断言
表达式:
量词
断言
使用正则表达的例子
练习代码
#include "qttest.h"
#include "ui_qttest.h"
Qttest::Qttest(QWidget *parent) :
QDialog(parent),
ui(new Ui::Qttest)
{
ui->setupUi(this);
/*
* 正则表达式限制输入字元的范围,第一个字符必须是字母,第二个字符必须是1~9,
* [0-9]表示能输入0~9
* {0,2}表示最多有舒服到第四位
* QRegExpValidator是一个类
*/
QRegExp regExp("[A-Za-z][1-9][0-9]{0,2}");
ui->lineEdit->setValidator(new QRegExpValidator(regExp,this)); //(b)
connect(ui->OK_PUSHBUTON,SIGNAL(clicked()),this,SLOT(accept())); //(c)
connect(ui->CANCEL_PUSHBUTON,SIGNAL(clicked()),this,SLOT(reject()));
connect(ui->lineEdit,SIGNAL(textChanged(QString)),this,SLOT(on_lineEdit_textChanged1()));
}
void Qttest::on_lineEdit_textChanged1()
{
ui->OK_PUSHBUTON->setEnabled(ui->lineEdit->hasAcceptableInput());
}
Qttest::~Qttest()
{
delete ui;
}