STL 正则表达式-regex运用

2024-04-09 13:58

本文主要是介绍STL 正则表达式-regex运用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

// Algorithm.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include "MainFrame.h"
#include <fstream>
#include <locale>
#include <regex>
using namespace std;int main()
{regex rTime("(?:[0]?[0-9]|1[0-9]|2[0-3])(:(?:0?[0-9]|[1-5][0-9])){2}");//输入时间,判断是否满足格式(00:00:00)string str;while (true){cin >> str;if (str == "q") break;if (regex_match(str, rTime)){cout << "the time : " << str << endl;}else{cout << "Invalid date!" << endl;}}//匹配一个或者多个字母切结尾为dayregex reg1("\\w+day");string s1 = "saturday";string s2 = "saturday and sunday";smatch r1;smatch r2;cout << boolalpha << regex_match(s1, r1, reg1) << endl;cout << boolalpha << regex_match(s2, r2, reg1) << endl;cout << "s1匹配结果:" << r1.str() << endl;cout << "s2匹配结果:" << r2.str() << endl;cout << endl;cout << "-------------regex_search-------" << endl;smatch rr1;smatch rr2;cout << boolalpha << regex_search(s1, rr1, reg1) << endl;cout << "s1匹配结果:" << rr1.str() << endl;cout << boolalpha << regex_search(s2, rr2, reg1) << endl;cout << "s2匹配结果:" << rr2.str() << endl;cout << endl;cout << "iterator结果:" << endl;sregex_iterator it(s2.begin(), s2.end(), reg1);sregex_iterator end;for (; it != end; ++it){cout << it->str() << endl;//cout << *it << endl; 错误}cout << endl;cout << "token_iterator结果:" << endl;sregex_token_iterator tit(s2.begin(), s2.end(), reg1);sregex_token_iterator tend;for (; tit != tend; ++tit){cout << tit->str() << endl;//cout << *tit << endl;}cout << endl;//匹配IPregex reg2("(\\d{1,3}):(\\d{1,3}):(\\d{1,3}):(\\d{1,3})");string ip = "192:168:1:1";smatch m;regex_match(ip, m, reg2);cout << "输出:str()" << endl;cout << m.str() << endl;cout << m.str(1) << endl;cout << m.str(2) << endl;cout << m.str(3) << endl;cout << m.str(4) << endl;cout << "输出:[i]" << endl;cout << m[0] << endl;cout << m[1] << endl;cout << m[2] << endl;cout << m[3] << endl;cout << m[4] << endl;cout << endl;//输出结果同上//regex_search(ip, m, str2);cout << endl;string ip2 = "0:11:222:333 4:55:66:7";sregex_iterator ip_it(ip2.begin(), ip2.end(), reg2);sregex_iterator ip_end;for (; ip_it != ip_end; ++ip_it){cout << ip_it->str() << endl;cout << ip_it->str(1) << endl;cout << ip_it->str(2) << endl;cout << ip_it->str(3) << endl;cout << ip_it->str(4) << endl;}return 0;
}

这篇关于STL 正则表达式-regex运用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888337

相关文章

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Swagger在java中的运用及常见问题解决

《Swagger在java中的运用及常见问题解决》Swagger插件是一款深受Java开发者喜爱的工具,它在前后端分离的开发模式下发挥着重要作用,:本文主要介绍Swagger在java中的运用及常... 目录前言1. Swagger 的主要功能1.1 交互式 API 文档1.2 客户端 SDK 生成1.3

正则表达式r前缀使用指南及如何避免常见错误

《正则表达式r前缀使用指南及如何避免常见错误》正则表达式是处理字符串的强大工具,但它常常伴随着转义字符的复杂性,本文将简洁地讲解r的作用、基本原理,以及如何在实际代码中避免常见错误,感兴趣的朋友一... 目录1. 字符串的双重翻译困境2. 为什么需要 r?3. 常见错误和正确用法4. Unicode 转换的

CSS引入方式和选择符的讲解和运用小结

《CSS引入方式和选择符的讲解和运用小结》CSS即层叠样式表,是一种用于描述网页文档(如HTML或XML)外观和格式的样式表语言,它主要用于将网页内容的呈现(外观)和结构(内容)分离,从而实现... 目录一、前言二、css 是什么三、CSS 引入方式1、行内样式2、内部样式表3、链入外部样式表四、CSS 选

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Java 正则表达式URL 匹配与源码全解析

《Java正则表达式URL匹配与源码全解析》在Web应用开发中,我们经常需要对URL进行格式验证,今天我们结合Java的Pattern和Matcher类,深入理解正则表达式在实际应用中... 目录1.正则表达式分解:2. 添加域名匹配 (2)3. 添加路径和查询参数匹配 (3) 4. 最终优化版本5.设计思

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详