C++正则表达式regex_match,regex_search和regex_replace简单使用

C++正则表达式

    • 零、前言
    • 一、说明
    • 二、测试代码
    • 三、运行结果

零、前言

正则表达式是非常强大的文本处理和字符串处理工具,C++11之前一直没有引入正则表达式,只能使用boost库中的,C++11之后正则表达式被正式列为C++标准库,这无疑方便了C++程序员使用正则表达式。

一、说明

C++11之后引入了正则表达式,给文本处理带来了很多方便的地方,正则表达式处理能力很强但想熟练使用并不容易,C++中主要使用下面的三个函数进行正则表达的操作。
1、regex_search:在整个字符串中匹配到符合正则表达式规则中的一部分就返回true,也就是子串。
2、regex_match:在整个字符串中匹配到符合整个表达式的整个字符串时返回true,也就是匹配的是整个字符串。
3、regex_replace:在整个字符串中替换符合正则表达式规则的字段。

二、测试代码

#include 
#include 
#include 
#include 

using namespace std;

int main()
{
    system("COLOR 1F");

    cout << "==========regex_search=========" << endl;
    string srcStr("---ISMILE--2019-01-24--ISMILE-THURSDAY");
    std::smatch m;
    std::regex e("\\d{4}-\\d{2}-\\d{2}");
    if(std::regex_search(srcStr,m,e,regex_constants::match_default))
    {
        for(auto iter : m)
        {
            cout << iter << endl;
        }
        string tempStr = m.suffix().str();
        cout << "tempStr:" <

三、运行结果

C++正则表达式regex_match,regex_search和regex_replace简单使用_第1张图片

你可能感兴趣的:(C++)