Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答

Boost正则表达式库regex常用search和match示例

 
Boost正则表达式库regex常用search和match示例
0 votes, 0.00 avg. rating (0% score)

 

示例很简单,但是很有针对性,可以根据示例进行不用的修改,之后加入到各种工程中。

 

 

#include <cstdlib>

#include <stdlib.h>

#include <boost/regex.hpp>

#include <string>

#include <iostream>

using namespace std;

using namespace boost;

	regex subexp("e[cl][oe][mc]");
regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*) secom"); int main(int argc, char* argv[])
{
//输入:select name from table secom
//输出:str:select name from table
//str:name
//str:table
//std::string in; cmatch what; string in="select name from table secom" ;
cmatch sub ; if(regex_match(in.c_str(),what,expression))
{
//regex_match : 是对整个输入块的匹配,整个块如不匹配则不能成功
for(unsigned int i=0;i<what.size();i++)
cout<<"str :"<<what[i].str()<<endl;
}
else
{
cout<<"Error Match"<<endl;
}
printf("%s\n",in.c_str());
while(regex_search(in.c_str(),sub,subexp))
{
//单字搜索,将每次匹配到的结果输出
printf("%s\n",sub.base());
printf("%s\n",sub[0].str().c_str()); in = sub[0].second;
}
return 0 ;
}

Boost正则表达式库regex常用search和match示例 - 编程语言 - 开发者第2241727个问答的更多相关文章

  1. VS2010中使用boost正则表达式库

    1.下载boost库.http://www.boost.org/ 我下载的是boost_1_51_0版本.放在D:\opensource\boost_1_51_0. 2.编译boost库.     执 ...

  2. 在C++ Builder6上使用Boost正则表达式库

    本文关键词:正则表达式 c++ python 软件 正则表达式是一种模式匹配形式,它通常用在处理的文本程序中.比如我们经常使用的grep工具,还是perl语言都使用了正则表达式. 正则表达式是一种模式 ...

  3. 第11.3节 Python正则表达式搜索支持函数search、match、fullmatch、findall、finditer

    一. 概述 re模块的函数search.match.fullmatch.findall.finditer都是用于搜索文本中是否包含指定模式的串,函数的参数都是一样的,第一个参数是模式串.第二个是搜索文 ...

  4. C#正则表达式Regex常用匹配

    使用Regex类需要引用命名空间:using System.Text.RegularExpressions; 利用Regex类实现验证 示例1:注释的代码所起的作用是相同的,不过一个是静态方法,一个是 ...

  5. boost 正则表达式 regex

    boost 正则表达式 regex   环境安装 如果在引用boost regex出现连接错误,但是引用其他的库却没有这个错误,这是因为对于boost来说,是免编译的,但是,正则这个库 是需要单独编译 ...

  6. Python 正则表达式 search vs match

    search()和match()函数都是正则表达式中的匹配函数,二者有何区别呢? 1.match()从string的开始位置进行正则匹配,即从0位置开始匹配,若匹配上则返回一个match对象,否则返回 ...

  7. 【regex】POSIX标准正则表达式库

    在linux C 下面没有编译成功使用?号的非贪婪模式. 网上的一句话:the ? only works for Perl-based regexp, not for POSIX... 如果需要使用非 ...

  8. python爬虫之re正则表达式库

    python爬虫之re正则表达式库 正则表达式是用来简洁表达一组字符串的表达式. 编译:将符合正则表达式语法的字符串转换成正则表达式特征 操作符 说明 实例 . 表示任何单个字符 [ ] 字符集,对单 ...

  9. 深入浅出C/C++中的正则表达式库

    写在前面: 本文是面向有正则表达式基础的读者朋友的,如果你还不知道正则表达式是什么,请先到这里学习一下  :http://en.wikipedia.org/wiki/Regular_expressio ...

随机推荐

  1. angular 入门教程1

    使用angularjs也有一年之久了.从初识angularjs时的激动和兴奋到现在淡定的使用,这其中也是有不少的心酸(刚用的时候和各种js插件的配合使用快把我弄疯了). 细想起来.用MVVM的这种js ...

  2. MySQL冷备份的跨操作系统还原

    数据来源:linux平台mysql版本为5.7 数据去向:windows平台mysql版本为5.7 操作步骤: 第一步:关闭mysql服务 service mysqld stop 第二步:归档linu ...

  3. Oracle ORA-01555(快照过旧)

    一.引言: [oracle@yft yft]$ oerr ora 01555 01555, 00000, "snapshot too old: rollback segment number ...

  4. COCI 2015/2016 Day 8 PROKLETNIK

    PROKLETNIK 题目描述:给出\(n\)个数,定义一段连续的数为魔法串是该区间的左右端点值正好是区间的最小值与最大值(最小值可以在左也可以在右,最大值也一样).\(Q\)个询问,每次询问一个区间 ...

  5. Android NDK 下载

    Android NDK Android NDK, Revision 10 (July 2014) Platform(32-bit target) Package Size (Bytes) MD5 Ch ...

  6. pushMeBaby,github链接

    https://github.com/stefanhafeneger/PushMeBaby

  7. sharepoint 2010 使用自定义列表模版创建列表(2)

    前面用的方法是通过界面上操作,根据自定义模版,创建的列表.sharepoint 2010 使用自定义列表模版创建列表(1) 这里顺便记录多另一种方法,通过程序来创建. ---------------- ...

  8. HDU2594——Simpsons’ Hidden Talents

    Problem Description Homer: Marge, I just figured out a way to discover some of the talents we weren’ ...

  9. GitHub以及Git学习 持续编辑学习中

    官网地址: http://www.worldhello.net/gotgithub/01-explore-github/030-explore-github.html 1 加入github, http ...

  10. 解决Win7&Win8 64位下Source Insight提示未完整安装的问题

    网上的破解版的注册表文件都是针对32位系统的,所以在64位系统里运行根本无法破解.下面分别贴出这俩系统里的破解文件. 使用方法: 分别复制对应系统的内容,新建文本文档,将内容粘贴进去,重命名为.reg ...