Windows编程技术博客之正则表达式

本文探讨了在Windows编程中正则表达式的应用,作者通过个人学习经验,解释了正则表达式的基本概念和用途,指出其在字符串匹配中的重要性。虽然作者对复杂的正则表达式仍感困惑,但分享了学习资源并强调了元字符在正则表达式中的作用。
摘要由CSDN通过智能技术生成

由于我已经在本学期的三门课的实践中(java聊天室数据库部分、软件工程研究JS插件时和现在的Qt)遇到了正则表达式,所以一听说Windows编程要写技术博客,我立刻想到的是正则表达式和之前提到过的责任链(另外本想如果时间充裕再写两篇的话估计就是宏以及Qt各种方面应用的深入研究,我相信我以后也会再回过头研究一下Qt的,毕竟Qt在很多领域都有应用的,就像我们的实验大作业一样),于是乎我找了一些资料加上自己的理解,力求将所写的每一个点都讲清楚。

我对这个一直的理解就仅限于它是用来进行字符串匹配的,然后按它的规则写一个这样的表达式就会将你想要的筛选出来,然而怎么筛选的以及一些复杂一点的表达式我就是一脸懵逼了。

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串

一个简单的模式示例为:“?” 字符匹配文件名中的单个字符,而“ *” 则匹配一个或多个字符

下面为摘自百度百科中关于正则表达式中元字符描述的表:

元字符
描述
\
将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。
^
匹配输入字行首。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
$
匹配输入行尾。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
*
匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于{0,}。
+
匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
?
匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于{0,1}。
{ n}
n是一个非负整数。匹配确定的 n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
{ n,}
n是一个非负整数。至少匹配 n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
{ n, m}
mn均为非负整数,其中 n<= m。最少
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值