Qt5.12实战之正则与QregExp使用

这篇具有很好参考价值的文章主要介绍了Qt5.12实战之正则与QregExp使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.普通字符匹配:

ab+ : 匹配一个a和任意个b 如: ab abb abbbbbb

c : 匹配一个c 如 : abcde 匹配内容: c 匹配开始索引:2 匹配结束索引 3

bcd : 匹配字符串 bcd 如: abcde 匹配内容是: bcd 匹配开始索引是:1 匹配结束索引是:4

2.转换符匹配:

\:转义字符匹配 如: \r \n \t \\ \^ \$ \. 匹配的内容分别是 回车 换行 制表符 \ ^ $ . 这些字符

3.普通字符与转换字符结合匹配:

\$abc : 匹配$abc 如ok$abcok 匹配的内容是 $abc 匹配开始索引是2 匹配结束索引 是6

\d : 匹配任意数字(0~9)

\w : 匹配任意字母,数字或下划线(A~Z,a~z,0~9,_)

\s : 匹配空格,制表符,换页符等空白字符中的任意一个

\. : 匹配除了换行符号(\n)外的任意字符

\d\d : 匹配两个连接出现的数字(0~9任意一个)

如 abc123 匹配内容12 匹配开始索引: 3 匹配结束索引: 5

a.\d : 匹配小写字母a开始后面是一个任意字符(\n除外)最后一个匹配是数字(0~9任意一个)

如 aaa123 匹配到的内容是aa1 匹配开始索引是:1 匹配结束索引是:4

4.自定义匹配表达式:

[ab5@] : 匹配中括号[]内所出现的任意字符 只要字符串中出现 a 或 b 或 5 或 @ 都能匹配成功

如: xxxaxxx bbbbx xkxkxkb klfdjskljflksl5a fldsjlf@dfs12 这些都匹配成功

[abc][bcd] : 匹配中括号[]内所出现的任意字符 如 123ab89 4545bc56 afafabc55 123afdgbcd

[^abc] : 匹配不包含在中括号内的任意字符,也就是字符串不能包含有a,b,c的任何一个字符

如: efccf1 成功 affdf 失败 cb123 失败 c234 失败 b67 失败

[a-f] : 匹配小字母a到f之间的任意一个字母: 如 a122 成功 aaafbc成功 f10成功

[^A-G0-5] : 匹配除了大写A到大写G之间的任意字母,和0到5之间的任意数字外的其它字符,

也就是说不能使用 A B C D E F G 和 0 1 2 3 4 5

5.匹配出现次数

在上面1到4点的基本上加上{n}, n 表示出现匹配的次数

如: abc{2} 匹配成功的 abcabc faccdabcabc

5{5} 匹配成功的 55555 655555 675555577

\w{2} 最少出现两个(字母,数字,下划线) 如: a5_ a5. a_ 5a 5_ 都匹配成功 $5@ 失败

{m,n} : 匹配最少与最少重复出现次数: 如 xg{1,3} 匹配成功 xg xgg xggg都匹配OK

{m,} : 匹配最少重复多少次 如: \d\w{2}\d{3,}

匹配成功: 1a1234 2a234567 6q789687979 1aw123 2qx456 5ex758437957

? : 匹配0次或者1 次 如 a[bc]? 匹配成功 a ab ac

+ : 匹配至少出现1次 相当于{1,} 如o+k 匹配成功: ok ooook ookkkkkkkkk

* : 匹配不出现,或者出现任意次 ,相当于 {0,} 如: \^*b 成功匹配 : "b" "\^^^b"

\d+\.?\d* : 匹配至少出现1次的数字,及出现0次或者1次任意字符(\n除外),和出现或者不出现的数字

如: 1$12.5 \d+ -> 12 \.? -> . 5 -> \d*

go{2,8}gle : 匹配 google goooooooogle

6.抽象意义特殊字符

^ : 表示从字符串的开始地方匹配,不匹配任何字符

$ : 表达从字符串的结尾地主匹配,不匹配任意字符

\b : 匹配一个单调边界,也就是单词与空格之间的位置,不匹配任意字符

如: ^aaa : 从字符串开始位置匹配aaa aaabbbccc 成功 bbbccccaaa 失败 bbbaaaccc 失败

aaa$ : 从字符串结尾位置匹配aaa bbbcccaaa 成功 aaabbbccc失败 cccaaabbb 失败

.\b. : 从单词边界开始匹配,取非单词边界一个任意字符(\n除外) ,

与单词边界一个任意字符(\n除外) 如 : @@@abc -> @@@非单词边界 abc单词边界

所以匹配内容为@a

\bend\b : 匹配单词边界前后 如: testend,okend,end 成功匹配到最后的一个end

| : 使用或匹配 , 左边或者右边匹配成功, 如: YES|NO

匹配成功 : this YES , this NO , this YES or NO

(go\s*)+ : 匹配次数修改 如: Let's go go go 匹配成功 ,匹配内容 go go go

\$(\d+\.?\d*) : 匹配$与小数 如 $12.78 匹配成功 \$ -> $ (\d+\.?\d*) ->匹配小数

7.更多匹配(贪婪模式)与更少匹配(勉强模式):

(d)(\w+) : 匹配d字母后面的一个或者多个字符 如: xxxdxxxd ->dxxxd

(d)(\w+)(d) : 前后匹配d字母,取中间的字符串 如: xxxdxxx dxxxdxxxd

(d)(\w+?) : 匹配d字母后面的一个或者多个字符 如: xxxdxxxd ->dx

(d)(\w+?)(d) : 前后匹配d字母,取中间的字符串 如: dxxxdxxxd ->xxx

<td>(.*)</td> :

匹配所有 <td><p></p>a</td><td><p>b</p></td> => <td><p></p>a</td><td><p>b</p></td>

<td>(.*?)</td> :

至少匹配 <td><p></p>a</td><td><p>b</p></td> => <td><p></p>a</td>

正则引用: 引用()中的表达式匹配到的字符 \1 表示引用第1个括号中内容, \2表示引用第2个括号中内容

('|")(.*?)(\1) 相当于 ('|")(.*?)('|")

(\w)\1{4,} : 表示在一个字母后面至少出现4上相同的字符,相当于 ()\w\w{}4,

如: abccccc -> (\w) -> c \1{4,} -> \w{4,} ->cccc文章来源地址https://www.toymoban.com/news/detail-736189.html

到了这里,关于Qt5.12实战之正则与QregExp使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于 Qt在windows使用mingw32编译器时从Qt5.9切换至Qt5.12出现“C2001:常量中有换行符“不修改编码 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131901444 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)   研发项目先

    2024年02月15日
    浏览(45)
  • QT基础篇(12)QT5多线程

    在任何一门语言中,多线程都是一个相对其他方面比较重要的点,这里面的知识体系很庞大,同步和异步之间的处理方式,以及IO多路复用等等各种进行性能优化的方面,在往上层一点我们不可能一直进行系统层次的调用,这样太费时间也太麻烦,就到设计模式这里,比如反

    2024年01月22日
    浏览(31)
  • 【Qt 学习之路】记一次安装 Qt5.12.12 安卓环境的失败案例

    安装的 Qt5.12.12 版本 Qt下载地址: https://download.qt.io/archive/qt/ 安装Qt,可能会碰到“qt.tool.perl”安装程序错误,可以看我的记录解决: Qt开发 之 安装程序错误–安装进程(qt.tool.perl)的解决办法 JDK NDK SDK openssl 注意组合套件的版本和Qt的版本要对应起来!同时,安装路径不可

    2024年02月19日
    浏览(25)
  • QT笔记 - QRegularExpression正则表达式

    QRegularExpression是Qt框架中的正则表达式类,它支持Perl兼容的正则表达式语法。 以下是一些常用的正则表达式语法规则: 1. 字符匹配:     * 纯字符串:直接写入要匹配的字符串。例如,\\\"hello\\\"匹配字符串\\\"hello\\\"。     * 转义字符:使用反斜杠()来转义特殊字符。例如,\\\"n\\\"匹配

    2024年01月23日
    浏览(36)
  • QT5.12在windows上边的安装

    使用国内镜像源在线安装QT(2023.3.25更新)_qt国内镜像_Iotfsd的博客-CSDN博客 先下载 STEP1:下载qt online installer Index of /official_releases/online_installers (qt.io) STEP1:使用国内镜像源在线安装Qt     qDPass(12MB/s) 在《STEP1》下载的“qt-unified-windows-x64-4.5.2-online.exe”目录进入CMD,然后运行下面

    2024年02月12日
    浏览(28)
  • Ubuntu 下安装Qt5.12.12无法输入中文解决方法

    (1)VMware Workstation 15 Pro (2)Ubuntu 20.04 (3)Qt 5.12.12 64bits (4)Qt Creator 5.0.2 (5)已经安装了fcitx,google拼音和搜狗拼音。 安装完Qt 5.12.12后,打开Qt Creator,发现无法输入中文,并且点击Ubuntu左上角的键盘,也无法切换中文输入,Ubuntu已经安装了Fcitx。但是在其他的环境下是

    2024年02月11日
    浏览(36)
  • 通俗易懂玩QT:正则表达式 QRegularExpression 学习

    在 Qt 中有两种和正则相关的类,一种是 QRegExp 类,今天查资料说的好像是从 Qt4 传承下来的,BUG 相对来说比较多,目前基本已停止维护了,多用于正则匹配,还有一种就是今天要讲的 QRegularExpression 类,是 Qt5 新开辟出来的类,相对来说比较完善(网上这样说的,具体有待考

    2024年02月02日
    浏览(21)
  • Ubuntu与致远ARM交叉编译Qt5.12环境

            ARM板现有环境配置(主要是对/etc/profile/编辑)较简单,参考上一篇博客,板子上已经部署了Qt5.15。 Ubuntu与国产致远ARM_3568交叉编译Qt 此文档只是为了记录错误的过程,下一往篇博客会直接介绍正确的配置。 https://blog.csdn.net/qq_35529025/article/details/129524412        

    2024年02月22日
    浏览(34)
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8

      上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。     系统版本:      参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》   

    2024年02月08日
    浏览(43)
  • Qt5.12.6配置Android Arm开发环境(Linux)

    1.安装jdk 2.安装android studio 3.安装sdk 与ndk  设置代理  安装SDK工具  安装SDK Platform 安装QT   选择JDK 1.8安装路径,SDK与NDK路径  如出现Platform SDK或者Platform Build Tools未安装,点击Update Installed  配置成功后可看到ARMv7与AMD-v8a kits Qt Version也可看到ARMv7与AMD-v8a   如果 有安装了CMake,也

    2024年01月21日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包