命名空间
变体
操作

std::sub_match<BidirIt>::length

来自 cppreference.cn
< cpp‎ | regex‎ | sub_match
 
 
 
正则表达式库
(C++11)
算法
迭代器
异常
特性
常量
(C++11)
正则表达式语法
 
std::sub_match
成员函数
sub_match::length
非成员函数
(直至 C++20)(直至 C++20)(直至 C++20)(直至 C++20)(直至 C++20)(C++20 起)
 
difference_type length() const;

返回匹配中的字符数。

[编辑] 返回值

若匹配合法,则为 std::distance(first, second),否则为 0

[编辑] 复杂度

常数时间。

[编辑] 示例

#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    std::string sentence{"Quick red fox jumped over a lazy cow."};
    const std::regex re{"([A-z]+) ([a-z]+) ([a-z]+) ([a-z]+)"};
    std::smatch words;
    std::regex_search(sentence, words, re);
    for (const auto& m : words)
        std::cout << '[' << m << "], length = " << m.length() << '\n';
}

输出

[Quick red fox jumped], length = 20
[Quick], length = 5
[red], length = 3
[fox], length = 3
[jumped], length = 6