C++中正则表达式使用,正则表达式语法以及常用正则表达式大全

     vc++2010里正式对正则表达式进行支持,这无疑是vc++2010的一大亮点,给VS下c++开发者带来了许多方便。通过自己的使用,深感正则表达式的强大功能。所以总结一些简单的介绍,并与大家共同分享。
一,什么是正则表达式:
      正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。是用来检验和操作字符串的强大工具。简单的理解正则表达式可以认为是一种特殊的验证字符串。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。

二,正则表达式可以用来做什么?
   正则表达式可以用来:
   (1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。
   (2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。
   (3)用来替换,比普通的替换更强大。

三,简介及基本语法:

先看网上一个经典的例子:

#include "stdafx.h"
#include <cstdlib>

#include <stdlib.h>

#include <boost/regex.hpp>

#include <string>

#include <iostream>

using namespace std;

using namespace boost;

regex expression("^select ([a-zA-Z]*) from ([a-zA-Z]*)");

int main(int argc, char* argv[])

{

 std::string in;

 cmatch what;

 cout << "enter test string" << endl;

 getline(cin,in);

 if(regex_match(in.c_str(), what, expression))

  {

for(int i=0;i<what.size();i++)

 cout<<"str :"<<what[i].str()<<endl;

 }

 else

 {

cout<<"Error Input"<<endl;

 }

 return 0;

}

结果

       输入:select name from table

   输出:str:select name from table

   str:name
       str:table
按照我们的要求,字符串被匹配挑出来了。这在处理大量规则的文本格式的时候很有用,因为它很灵活,一通百通。
看完例子,想毕大家已经对正则表达式有了一个感性的认识。
那么下面介绍正则表达式的一些基本语法,在正则表达式中拥有一套自己的语法规则,常见语法包括;字符匹配、重复匹配、字符定位、转义匹配和其他高级语法(字符分组、字符替换和字符决策)等:

字符匹配语法:

0
0
猜你在找
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
快速回复 TOP
    个人资料

    wjhuangjin
    • 访问:118488次
    • 积分:957
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:3篇
    • 译文:0篇
    • 评论:110条
    文章分类
  • MFC/VC++技术(1)
  • 开发工具(1)
  • 编程语言---AAuto(0)
  • 编程语言---c/c++(1)
  • 职场碎言(1)
    文章存档
  • 2010年05月(1)
  • 2010年04月(1)
  • 2010年03月(1)
  • 2009年12月(1)
  • 2009年11月(5)
  • 2009年10月(2)
    阅读排行
  • vs2010简体中文版下载链接(含中文msdn)(35273)
  • vs2010 beta2中vc++开发体验~~(11279)
  • VC++ 中CMap的简介和简单实例!(5882)
  • C++中正则表达式使用,正则表达式语法以及常用正则表达式大全(4844)
  • vc++中“fatal error C1075: end of file found before the left brace '{'”错误的解决方法(4225)
  • VS2010 正式版下载链接(4053)
  • MFC中CMFCRibbonProgressBar进度条用法总结(2943)
  • vc/mfc中添加快捷键[转载](2163)
  • [转]毕业5年决定你的命运(1352)
  • 基于VC++2010和web service技术的网络教学软件研究与实践(毕业论文开题报告)(1238)
    评论排行
  • vs2010简体中文版下载链接(含中文msdn)(68)
  • vs2010 beta2中vc++开发体验~~(27)
  • C++中正则表达式使用,正则表达式语法以及常用正则表达式大全(9)
  • 基于VC++2010和web service技术的网络教学软件研究与实践(毕业论文开题报告)(2)
  • 程序员进阶必看(2)
  • vc/mfc中添加快捷键[转载](2)
  • VC++ 中CMap的简介和简单实例!(0)
  • vc++中“fatal error C1075: end of file found before the left brace '{'”错误的解决方法(0)
  • MFC中CMFCRibbonProgressBar进度条用法总结(0)
  • [转]毕业5年决定你的命运(0)
    推荐文章
    • *Android自定义ViewGroup打造各种风格的SlidingMenu
    • * Android 6.0 运行时权限处理完全解析
    • * 数据库性能优化之SQL语句优化
    • *Animation动画详解(七)——ObjectAnimator基本使用
    • * Chromium网页URL加载过程分析
    • * 大数据三种典型云服务模式
    最新评论
  • VS2010 正式版 破解方法详解

    yjjie: CAO NI MA个卸载向导,害老子把vs 给删了

  • vs2010简体中文版下载链接(含中文msdn)

    penglv789: 学习学习

  • VS2010 正式版 破解方法详解

    yb410411433: 下载下来试试

  • vs2010简体中文版下载链接(含中文msdn)

    hugaozhuang: 下载哪一个啊??

  • vc/mfc中添加快捷键[转载]

    cai_niao_yi_zhi: 不错,收获不少!

  • VS2010 正式版 破解方法详解

    haixingkl: 急需解决方法!有谁能告诉我!

  • VS2010 正式版 破解方法详解

    haixingkl: 为什么不能激活啊!每次都提示:无效的许可证数据。需要重新安装。是不是KEY不能用了!!!有新的key...

  • VS2010 正式版 破解方法详解

    qwx123_abc: 好

  • VS2010 正式版 破解方法详解

    lgh92: 留名。顶。刚学。

  • VS2010 正式版 破解方法详解

    c372662316: 回复 volkswageos:den它自动过期时,让你输入密钥,你把上面序列号复制贴上去激活就行了

    AAuto
    • VC2010打造脚本巨作 - AAUTO
%0

字符语法

语法解释

语法例子

//d

匹配数字(0~9

‘//d’匹配8,不匹配12;

//D

匹配非数字

‘//D’匹配c,不匹配3;

//w

匹配任意单字符

‘//w//w’ 匹配A3,不匹配@3;

//W

匹配非单字符

‘//W’匹配@,不匹配c;

//s

匹配空白字符

‘//d//s//d’匹配3 d,不匹配abc;

//S

匹配非空字符

‘//S//S//S’匹配A#4,不匹配3 d;

.

匹配任意字符

‘....’匹配A$ 5,不匹配换行;

你可能感兴趣的:(C++,正则表达式,String,table,regex,input)