C++ regex 头

  • 定义

    regex 正则表达式是表达要与字符序列匹配的模式的标准化方法。
    标准C ++库通过<regex>标头中的正则表达式提供一系列操支持。所有这些操作都使用一些典型的正则表达式参数:
    • 目标序列(主题): 为模式搜索的字符序列。通常,这是两个迭代器指定的范围,但是某些函数也接受c字符串或字符串对象。
    • 正则表达式(模式):在目标序列中搜索的模式。该对象必须是basic_regex类型的对象(例如regex),通常是由具有特殊语法的字符串构成的,该特殊语法描述了构成匹配项的内容(请参阅ECMAScript语法)。
    • 匹配数组: 某些操作允许检索有关匹配的信息。此信息存储在特殊的match_results数组类型之一中(例如cmatch或smatch)。
    • 替换字符串: 某些操作可以替换匹配项。这些替换用允许使用特殊格式的字符串指定(请参阅ECMAScript语法)。
  • 正则表达式操作

    使用函数或特殊的迭代器适配器执行正则表达式操作:
    函数
    函数/类/模板 描述
    regex_match 匹配顺序(函数模板)
    regex_search 搜索顺序(函数模板)
    regex_replace 替换匹配的序列(函数模板)
    迭代类型
    函数/类/模板 描述
    regex_iterator 正则表达式迭代器(类模板)
    regex_token_iterator 正则表达式令牌迭代器(类模板)
  • regex函数和迭代器大量使用了一组支持类型作为参数和返回值:
    基本类型
    函数/类/模板 描述
    basic_regex 正则表达式(类模板)
    match_results 匹配结果(类模板)
    sub_match 子表达式匹配(类模板)
    regex_traits 正则表达式特征(类模板)
    regex_error 正则表达式异常(类)
    其中一些类型是模板,并且具有最常见的实例化别名:
    basic_regex 实例
    函数/类/模板 描述
    regex 正则表达式(类)
    wregex wchar_t的正则表达式(类)
    match_results 实例
    函数/类/模板 描述
    cmatch 字符串文字的match_results (类)
    wcmatch match_results用于宽字符串文字(类)
    smatch 字符串对象的match_results (类)
    wsmatch 宽字符串对象的match_results (类)
    sub_match 实例
    函数/类/模板 描述
    csub_match 字符串文字的sub_match(类)
    wcsub_match sub_match用于宽字符串文字(类)
    ssub_match 字符串的sub_match(类)
    wssub_match 宽字符串的sub_match(类)
  • 命名空间

    此标头还定义了一个命名空间regex_constants,库将使用的所有常量值都位于该名称空间下:
    命名空间 描述
    regex_constants 正则常量(命名空间)
  • 语法

    正则表达式遵循非常严格的语法。 默认情况下,该库中的函数使用ECMAScript语法:
    语法 描述
    ECMAScript 语法 ECMAScript正则表达式模式语法(语法规范)
  • 其他函数

    正则表达式遵循非常严格的语法。 默认情况下,该库中的函数使用ECMAScript语法:
    函数 描述
    begin 迭代器开始(函数模板)
    end 结束的迭代器(函数模板)