Namespaces
Variants

std::sub_match<BidirIt>:: length

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
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