regex_match
原型:bool regex_match(InputSequence[,MatchResults] , Regex[ , Flags]);
当模式匹配整个输入序列成功时,返回的是true,否则返回false;
参数说明:
1.InputSequence可以是:源字符串的首位迭代器,也可以是字符串;
2.MatchResult时可选参数,是match_result的引用,当regex_match返回的是false, MatchResult就是match_result::empty()或则match_result::size();当regex_match()返回的是true时,MatchResult保存的是匹配的结果;
3. Regex是正则表达式;
- #include <iostream>
- #include <regex>
- int main() {
- std::regex r("\\d{4}/(0?[1-9]|1[0-2])/(0?[1-9]|[1-2][0-9]|3[0-1])");
- std::string str;
- while(true)
- {
- if(!std::getline(std::cin,str) || str == "q")
- {
- break;
- } else
- {
- std::smatch match;
- if(std::regex_match(str,match,r))
- {
- std::cout << "vaild argument" << std::endl;
- std::cout << match[] << std::endl;
- std::cout << match[] << std::endl;
- std::cout << match[] << std::endl;
- }else
- {
- std::cout << "invaild argument" << std::endl;
- }
- }
- }
- return ;
- }
运行结果:
1996/2/21
vaild argument
1996/2/21
2
21
regex_match的更多相关文章
- C++中的也能使用正则表达式
正则表达式Regex(regular expression)是一种强大的描述字符序列的工具.在许多语言中都存在着正则表达式,C++11中也将正则表达式纳入了新标准的一部分,不仅如此,它还支持了6种不同 ...
- there are no packages available for installation插件安装问题和如何配置浏览器的快捷键
sublime text3 在安装插件时,有时候会莫名其妙的弹出如下所示的弹窗(之前遇到了,但写的时候不知道为什么我的又可以了,这个只是出现了这个问题之后可以尝试的一个解决办法,图片就从网上找了一个) ...
- Sublime Text3 (转) 配置 以及快捷键配置
一.介绍 Sublime Text 是一款较新的编辑器,它轻量.简洁.高效,良好的扩展性以及跨平台等特性,使得越来越多的开发人员喜爱.它是一款收费的商业软件,但可以免费无限制无限期的试用,只会偶尔提醒 ...
- Sumlime Text编辑文件后快速刷新浏览器
作为Web开发人员,我们经常会这么做:在编辑器中调整代码,保存文件,切换到浏览器,然后刷新浏览器页面来查看结果.在代码编辑过程中,我们需要重复进行很多次这些操作. 如果你使用的是Sublime Tex ...
- c++11 正则表达式基本使用
c++ 11 正则表达式 常用的方法 regex_match regex_search regex_replace 等. regex_match 要求正则表达式必须与模式串完全匹配,例如: strin ...
- 一个简单的C语言语法检查器的实现
我自己的实现方法的核心过程:首先用一个非终结符代表所有要检查的程序代码,然后根据文法将这个整体的符号不断展开,以拼凑成按检查的程序的顺序排列的终结符序列,能成功说明语法正确,否则有错误. 关键词:分词 ...
- 转:C++ Boost/tr1 Regex(正则表达式)快速指南
C++ Boost/tr1 Regex(正则表达式)快速指南 正则表达式自Boost 1.18推出,目前已经成为C++11(tr1)的标准部分. 本文以Boost 1.39正则表达式为基础,应该广泛适 ...
- 正则表达式python和C++对比
pattern格式(基本通用): pattern格式 符号 说明 ^ 匹配开头 $ 匹配结尾 . 匹配任意一个字符 [...] 匹配任意一个指定的字符 [^...] 匹配任意一个非指定的字符 * 匹配 ...
- c++0x新特性实例(比较常用的)
//array #include <array> void Foo() { array<> a; generate(a.begin(),a.end(),rand); sort( ...
随机推荐
- 简单创建json格式文件
简单创建json格式文件 核心就两点: addProperty 添加属性(也就是加键值对) add是添加 另外的object对象 然后直接toString()输出 核心代码如下; public cla ...
- POJ2251(KB1-B 三维BFS)
Dungeon Master Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 40872 Accepted: 19936 Desc ...
- 【代码笔记】iOS-cell折叠
一,效果图. 二,工程图. 三,代码. AppDelegate.h #import <UIKit/UIKit.h> //加入头文件 #import "myQQView.h&quo ...
- javaSE——字符流
字符流: 读取数据的单位是字符,即每次可以读取至少一个字符(一个字母.数字.汉字.符号). 和字节流一样,管子搭载的对象不同,则字符流就不同. 类 FileReader: 用于读取文件的便捷类. 继承 ...
- css sprites的原理和作用
CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢 ...
- Oracle获取session的trace
1. 使用参数SQL_TRACE 下面是官网对此参数的说明 SQL_TRACE Property Description Parameter type Boolean Default value fa ...
- shrio的简单认识
博客讲解; shrio的知识储备 shrio的简单认识 笔记整理地址: Shrio.pdf 下载 Shrio理论.doc 下载 shrio知识储备.doc 下载
- Django 多表查询 聚合查询 分组查询 F查询 Q查询
# -------------------------------------------------------------------------------------------------- ...
- MYSQL数据类型 表基本操作 表记录增删改 单表查询
一.数据类型 常用的数据类型如下: 整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 特别说明的 ...
- Java简单方法批量修改Windows文件夹下的文件名(简单IO使用)
package test.tttt; import java.io.File; import java.util.ArrayList; import java.util.List; public cl ...