本篇内容介绍了“C++11正则表达式库怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
10年积累的网站设计、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有全南免费网站建设让你可以放心的选择与我们合作。
基本用法
代码说明
最基本的用法当然就是定义正则表达式,然后使用它。
代码中使用regex定义了一个正则表达式r,它描述的是单词"test"。之所以说是单词,是因为"test"的两端分别放置了用于匹配单词开始或结束的元字符'\b'。由于我们在C++环境中编码,所以实际的代码中使用的是"\\b"。
输出结果
例句中虽然存在一个testing,还是正确地找到一个test。
使用子表达式
正则表达式经常包含子表达式,即表达式中被小括号包围的部分。
代码说明
代码中定义的正则表达式包含两个子表达式,分别用于匹配文件名和扩展名。
匹配结果的取得也略有不同,在包含子表达式时,使用str(0)取得匹配结果的全体,使用str(1)是第一个子表达式,以此类推。
输出结果
匹配迭代器
实际的开发中,经常会发生重复查找的情况,表达式库中另外提供了sregex_iterator来处理这个问题。
代码说明
首先定义正则表达式为以test开始的单词。然后定义两个sregex_iterator。一个用于匹配查找,另一个用于完了判断。
输出结果
可以看到,匹配一共发生了两次。但是比较遗憾的是显示的都是匹配的部分。别着急。
子表达式+迭代器
看一下重复查找语句的不同的文件名的例子。
代码说明
代码结合了子表达式和迭代器两个技术。
输出结果
看起来像是那么回事了。
“C++11正则表达式库怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!