`
7090
  • 浏览: 274076 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C++正则表达式匹配、分割字符串

阅读更多
#include "stdafx.h"
#include <iostream>
#include <regex>
#include <string>

using namespace std;

int main()
{

std::string s("abcd12_efgh34");
std::regex e("abcd(\\d+)_efgh(\\d+)");
std::smatch sMatchResult;

if (std::regex_match(s, sMatchResult, e))
{
std::cout << "string Match:" << sMatchResult.size() << "\n";

for (size_t i = 0; i < sMatchResult.size(); ++i)
{
cout << sMatchResult[i] << " ";
}
}
cout << "\n";

std::cmatch cMatchResult;    // same as std::match_results<const char*> cm;
if (std::regex_match(s.c_str(), cMatchResult, e))
{
std::cout << "char* Match:" << cMatchResult.size() << "\n";

for (size_t i = 0; i < cMatchResult.size(); ++i)
{
cout << cMatchResult[i] << " ";
}
}

getchar();

std::cout << std::endl;
}


参考:http://www.cplusplus.com/reference/regex/regex_match/
分享到:
评论

相关推荐

    Python高级语法(一):正则表达式

    re模块的高级用法7.1 使用search()方法进行匹配7.2 使用findall()方法进行匹配7.3 替换字符串7.4 使用正则表达式分割字符串 1. 为什么要使用正则表达式? 首先,大家来看一个例子。一个文本文件里面存储了一些市场...

    Tcl_TK编程权威指南pdf

    第4章 tcl中的字符串处理 string命令 append命令 format命令 scan命令 binary命令 相关章节 第5章 tcl列表 tcl列表 构建列表 获取列表元素 修改列表 搜索列表 对列表进行排序 split命令 join命令 ...

    powerbuilder

    由于PowerBuilder使用数值0(即ASCII码为0的字符)结束每个字符串,因此,如果打印控制序列中包含了数值0,应用程序需要使用其它字符在参数string中替代数值0,并用zerochar参数指明这个替代字符。一般来说,应该...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    注意不同的是被单引号引出的字符串是以字面定义的,而双引号引出的字符串可以被扩展。反斜杠(&#92;)可以被用来分割某些特殊字符。举例如下: $first = 'Hello'; $second = "World"; $full1 = "$first $second"; # ...

    你必须知道的495个C语言问题

    1.27 我的编译器总在报函数原型不匹配的错误,可我觉得没什么问题。这是为什么? 1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是为什么? 1.29 为什么我的编译器不允许我定义大数组,如...

    《你必须知道的495个C语言问题》

    书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。 《你必须知道的495个C语言问题》结构...

Global site tag (gtag.js) - Google Analytics