Qt 之 QLineEdit 和 QRegExp
来源:互联网 发布:mysql update 编辑:程序博客网 时间:2024/05/15 16:11
先列出几个问题待解决:
1、QRegExp使用规则? 它和QLineEdit的inputMask之间的关系?
2、QLineEdit如何可以初始化对象显示一行提示,当用户点击输入框的时候自动清除?
3、如何使用QRegExp来模拟setValidtor的效果?
————————————————————————————————
QRegExp:
简介:用来描述Qt规则表达式的一种现有语言,基于Perl 规则表达式建立的。完全支持unicode字符。既可以用于复杂的模式,也可一用shell命令中的wildcard的简单模式。QRegExp的语法可以通过setPatternSyntax()函数来切换
四种功能:Validation, Searching, Search And Replace, String Spliting
五种语法:gExp, RegExp2, Wildcard, WildcardUnix, FixedString, W3CXmlSchema11
建立于 表达式、数量以及断言之上
一般而言,规则表达式不能应用于检查括号匹配,因为如果有嵌套,而调用这又不清楚嵌套有几层,那么是不可能写出正确匹配的表达式的
注意断言^和$的使用,表示字符串的开头和结束
Captuing Text:我们可以使用()来捕捉匹配字符串,然后通过cap()或者capturedTexts来获取匹配到的字符。这里有个很有用的语法,就是当我们打算匹配某个子串但又想忽略掉一些内容的时候,我们就可以使用"(:?)"来选择忽略掉的内容
#include <QApplication>#include <QRegExp>#include <QDebug>int main(int argc, char *argv[]){ QApplication app(argc, argv); QRegExp reg("(\\w+)(?:.Chen)"); reg.indexIn("myname is Tovards.Chen"); qDebug() << reg.cap(0) << "=>" <<reg.cap(1); return app.exec();}
还可以使用\1表示和第一个表达式匹配的内容相同的字符串
#include <QApplication>#include <QRegExp>#include <QDebug>#include <QString>int main(int argc, char *argv[]){ QRegExp reg("([0-9]{1,3}).(\\1)"); reg.exactMatch("192.192.6.142"); qDebug() << reg.cap(1); qDebug() << reg.cap(2); return 0; }输出:
“192”
“192”
- Qt 之 QLineEdit 和 QRegExp
- Qt 之 QRegExp
- Qt 之QRegExp
- Qt之正则表达式 - QRegExp
- Qt之正则表达式 - QRegExp
- Qt之正则表达式 - QRegExp
- Qt之正则表达式QRegExp
- Qt 之 QLineEdit
- qt 之 QLineEdit
- Qt之QLineEdit
- Qt之QLineEdit
- Qt:QRegExp
- qt学习笔记之QLineEdit
- QT之qss教程-QLineEdit
- 转:Qt的正则表达式和QRegExp
- 转:Qt的正则表达式和QRegExp
- Qt学习之路之QLineEdit
- Qt之QLineEdit之透明设置
- QT 项目修改——dialog也能拥有最大化最小化按钮
- WebLogic 8.1 用来响应客户端请求的线程数量的设置
- 字节对齐新方法
- ERROR: the user data image is used by another emulator. aborting错误解决方法
- DES 加密算法
- Qt 之 QLineEdit 和 QRegExp
- HDR&ToneMapping
- Android之Intent详解
- MD5 算法
- 基础知识:电容充电放电原理
- 张老师 交通灯系统的设计
- lua与lua之间的调用及对表的访问
- 堆和栈的区别(转过无数次的文章)
- 解决Photoshp CS4 "错误:148:3"