如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 292 编程语言
Qt编程中有时候会需要判断某个字符串是否符合要求,比如判断一个lineEdit中IP地址是否合法,使用正则表达式会使得这个判断操作非常简单。本文以判断IP地址是否合法为例,给大家说明正则表达式的用法。
首先要创建一个QRegExp类型的实例对象。例如要匹配单个数字,则正则表达式可以写成("\\d")。如图第27行初始化了一个QRegExp对象。
创建一个QRegExpValidator实例对象,用于执行匹配操作。如图第28行,以正则表达式rx初始化了一个QRegExpValidator实例对象v。
调用QRegExpValidator::validate方法,如图第36行,对给定字符串进行匹配,并返回匹配结果:
QValidator::Invalid表示完全不匹配;
QValidator::Intermediate表示部分匹配;
QValidator::Acceptable表示完全匹配。
程序执行情况,如下各图所示。
IP地址的第一个字段的范围是[1-223],包括1和223。所以正则表达式可以写成"(2{2}[0-3]|2[01][0-9]|1[0-9]{2}|[1-9][0-9]|[1-9])"。
[1-223]匹配执行情况如下图所示。
IP地址后三个字段的范围是[0-255],包括0和255,所以正则表达式可以写成"(25[0-5]|2[0-4][0-9]|1?[0-9]{0,2})"。
[0-255]匹配执行情况如下图所示。
匹配完整IP地址的正则表达式可以写成"((2{2}[0-3]|2[01][0-9]|1[0-9]{2}|0?[1-9][0-9]|0{0,2}[1-9])\\.)((25[0-5]|2[0-4][0-9]|[01]?[0-9]{0,2})\\.){2}(25[0-5]|2[0-4][0-9]|[01]?[0-9]{0,2})"。
完整IP地址匹配执行情况如下图所示。
此示例代码可在我的网盘下载。
链接:https://pan.baidu.com/s/1mBClqRG_BbyQPYbfcQxFzQ 提取码:ocfm
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 292 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 514 编程语言