初学C++正则表达式(regex)
由效果产生学习的兴趣,即使失败,但至少不会中途作废。
正则表达式,语法看起来很多啊! 本文做一个简单的学习介绍:(环境:Windows 7 + Visual Studio 2010)
#include <regex> //header
1,匹配电话号码
string tel_pattern("13([5-8])(\\d{8})");
//解释:()表示一个子表达式,a,13是开头;b,[5-8]表示这个字符介于'5'和'8'之间;c,\\转义,因为此处d有特殊含义 d{8}表示8个数字。结果:数字个数为11个,以135-138为开头。
string tel = "13512345678"; www.2cto.com
bool match = regex_match(tel,tel_pattern);
2,匹配邮件地址
string email_pattern("(\\w+)(\\.|_)?(\\w+)@(\\w+)(\\.(\\w+))+");
//解释:w+表示一个或多个单词,.|_表示.或者_,?表示有0个或者1个,+表示重复。
@前面的含义是,单词串,串之间可以有1个.或者_,也可以没有
@后面的含义是,单词串开始,后面有一个 .words或者多个
3,分隔字符串
[cpp]
<span style="font-size:14px;"> regex str_pattern("(\\.)");
string str = "www.baidu.com";
sregex_token_iterator iter(str.begin(),str.end(),str_pattern,-1);
sregex_token_iterator end;
vector<string> vec;
while(iter != end)
{
vec.push_back(*iter++);
printf_s("%s \n",vec.back().c_str());
}
printf_s("%d \n",vec.size());</span>
总结:正则表达式用法很强大,可以完成查找、匹配、分隔操作。
重要一点:正则表达式 与 编译原理中的语法树、词法分析联系太紧了,相互之间补充理解。
初学C++正则表达式(regex)相关推荐
- python正则表达regex_Python 正则表达式(RegEx)
版权所有,未经许可,禁止转载 正则表达式是组成搜索模式的字符序列. 正则表达式用于按指定的搜索模式搜索字符串. 正则表达式(RegEx)模块 Python有一个名为re的内置包,用来处理正则表达式. ...
- c++ regex 替换汉字_C++ - 正则表达式(regex) 替换(replace) 的 详解 及 代码
正则表达式(regex) 替换(replace) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/1732163 ...
- Java中的正则表达式 regex
常用类解析:正则表达式 regex 前言 一.正则表达式 二.匹配规则 三.匹配任意字符 四.匹配数字 五.匹配常用字符 六.匹配空格字符 七.匹配非数字 八.重复匹配 九.正则表达式小总结 十.匹配 ...
- c#中regex的命名空间_C#_详解C#正则表达式Regex常用匹配,使用Regex类需要引用命名空间 - phpStudy...
详解C#正则表达式Regex常用匹配 使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 一.利用Regex类实现验证 示例1:注释的代码所起 ...
- C# 正则表达式 Regex类的使用
1.检验数字的表达式 //数字Regex reg = new Regex(@"^[0-9]*$");//n位的数字Regex reg = new Regex(@"^\d{ ...
- Python零基础速成班-第13讲-Python正则表达式Regex
Python零基础速成班-第13讲-Python正则表达式Regex 学习目标 正则表达式 课后作业(4必做) 友情提示:将下文中代码拷贝到JupyterNotebook中直接执行即可,部分代码需要连 ...
- python正则表达式——regex模块
目录 1. 为了与re模块兼容,此模块具有2个行为 2. Unicode中不区分大小写的匹配:Case-insensitive matches 3. Flags 4. 组 5. 其他功能,如下表 参考 ...
- (四)boost库之正则表达式regex
正则表达式可以为我们带来极大的方便,有了它,再也不用为此烦恼 头文件: #include <boost/regex.hpp> 1.完全匹配 std::string str("ab ...
- C语言正则表达式regex
From: http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html 正则表达式在linux下应用非常广泛,经常使用s ...
最新文章
- 2.2 Spring属性注入-构造方法
- 建立你第一个 Outlook Add-in
- python 队列实现_Python Queue队列实现线程通信
- oracle虚拟机怎么拖到windows,如何使用Virtualbox从Windows 10拖放到Ubuntu 18 VM
- SQL float 保留两位小数
- 用python对excel进行图表操作
- pr如何跳到关键帧_pr怎么跟踪?pr怎么做运动跟踪怎么用?
- docker CEEE版本centos安装
- 利用 安装oracle依赖包,使用yum快速安装oracle11g依赖包
- 非常精美的唐诗,无与伦比哦
- pip20恢复官方源出现bug:confirming the ssl certificate: HTTPSConnectionPool(host=‘pypi.org‘, port=443)
- Flask + vue 前后端分离的 二手书App
- ELK日志分析系统搭建以及springboot日志发送到ELK中
- 2022 ICPC Gran Premio de Mexico 1ra Fecha(一)
- 新鲜出炉的三维动画应用领域,学3D建模好工作找不完
- 【2021-04-25】APP逆向之某智网加密数据
- 使用Calendar 计算两个日期相差天数,
- 区块链已成主流,BATJ纷纷加速布局
- 使用nid工具修改db_name和DBID
- DataFrame.drop_duplicates操作中的inplace参数
热门文章
- java mail 发件人昵称,Java使用javax.mail发送邮件 解决收件人、发件人名字乱码问题...
- mysql数据库检表_MYSQL数据库检查数据表和修复数据表
- python 多进程绑定端口_Python教程之创建多进程
- android组合动画还原,Android - Fragment,View动画,组合动画,属性动画
- php内核函数手册,深入理解PHP内核(五)函数的内部结构,深入理解内部结构
- 回顾一些重要的CNN改进模型(你真的了解 Convolutional Neural Networks 么)
- 微博收藏(机器学习探讨)(二)
- caffe windows学习:第一个测试程序
- 通俗大白话来理解TCP协议的三次握手和四次分手
- Java虚拟机学习(3): 类加载机制