欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++正则表达式;regex

程序员文章站 2022-07-09 22:33:24
有时候我们在开发项目的时候会用到正则表达式, 在PHP中写正则很简单 但是在C++中就变得复杂了点 想找个正则的小案例 看了别人写的关于regex的博客大都写的特别复杂...

有时候我们在开发项目的时候会用到正则表达式,
PHP中写正则很简单
但是在C++中就变得复杂了点
想找个正则的小案例
看了别人写的关于regex的博客大都写的特别复杂
最后还是老老实实看MSDN终于搞懂了

如果没有耐心看msdn可以看下面我整理的这个小案例

#include "stdafx.h"
#include 
#include 
using namespace std;

int main()
{
    string str = "Hello World";
    regex cmd("(Hel)(.*)");     //返回时候匹配成功
        if (regex_match(str, cmd))
            cout << "匹配成功" << endl;
    regex cmd1("Hel[a-zA-Z]+");
    smatch a;                       //存放匹配的字符串
    regex_search(str,a,cmd1);       //获得匹配的字符串
    for (auto x : a)
        cout << x << endl;
    regex cmd2("Hel[a-zA-z]+");
    cout << regex_replace(str, cmd2, "World") << endl;
    return 0;
}

其实C++的正则表达式记住这三个函数就好了

regex_match(str, cmd)               //返回是否匹配成功
regex_search(str,a,cmd1)            //获得匹配的字符串
regex_replace(str, cmd2, "World")   //替换字符串