首页 > 软件开发 > 编程语言 >

Qt如何使用正则表达式匹配指定字符串

来源:互联网 2023-03-17 00:23:25 351

Qt编程中有时候会需要判断某个字符串是否符合要求,比如判断一个lineEdit中IP地址是否合法,使用正则表达式会使得这个判断操作非常简单。本文以判断IP地址是否合法为例,给大家说明正则表达式的用法。FQH办公区 - 实用经验教程分享!

Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

工具/原料

  • Qt4
  • PC

Qt中匹配字符串的用法

  • 1

    首先要创建一个QRegExp类型的实例对象。例如要匹配单个数字,则正则表达式可以写成("\\d")。如图第27行初始化了一个QRegExp对象。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 2

    创建一个QRegExpValidator实例对象,用于执行匹配操作。如图第28行,以正则表达式rx初始化了一个QRegExpValidator实例对象v。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 3

    调用QRegExpValidator::validate方法,如图第36行,对给定字符串进行匹配,并返回匹配结果:FQH办公区 - 实用经验教程分享!

    QValidator::Invalid表示完全不匹配;FQH办公区 - 实用经验教程分享!

    QValidator::Intermediate表示部分匹配;FQH办公区 - 实用经验教程分享!

    QValidator::Acceptable表示完全匹配。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 4

    程序执行情况,如下各图所示。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 4此文章未经许可获取自百度经验
  • 匹配IP地址

  • 1

    IP地址的第一个字段的范围是[1-223],包括1和223。所以正则表达式可以写成"(2{2}[0-3]|2[01][0-9]|1[0-9]{2}|[1-9][0-9]|[1-9])"。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 2

    [1-223]匹配执行情况如下图所示。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 3

    IP地址后三个字段的范围是[0-255],包括0和255,所以正则表达式可以写成"(25[0-5]|2[0-4][0-9]|1?[0-9]{0,2})"。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 4

    [0-255]匹配执行情况如下图所示。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 5

    匹配完整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})"。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 6

    完整IP地址匹配执行情况如下图所示。FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

    Qt如何使用正则表达式匹配指定字符串FQH办公区 - 实用经验教程分享!

  • 7

    此示例代码可在我的网盘下载。FQH办公区 - 实用经验教程分享!

    链接:https://pan.baidu.com/s/1mBClqRG_BbyQPYbfcQxFzQ 提取码:ocfm FQH办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!FQH办公区 - 实用经验教程分享!


    标签: 编程语言IP

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码