命名空间
变体
操作

std::match_results<BidirIt,Alloc>::ready

来自 cppreference.com
< cpp‎ | regex‎ | match results
bool ready() const;
(自 C++11 起)

指示匹配结果是否已准备就绪(有效)。

默认构造的匹配结果没有结果状态(未准备就绪),并且只能通过其中一个正则表达式算法使其准备就绪。准备就绪状态表示所有匹配结果都已完全建立。

对未准备就绪的 match_results 对象调用大多数成员函数的结果是未定义的。

[编辑] 返回值

true 如果匹配结果已准备就绪,否则为 false

[编辑] 示例

#include <iostream>
#include <regex>
#include <string>
 
int main()
{
    std::string target("pattern");
    std::smatch sm;
    std::cout << "default constructed smatch is "
              << (sm.ready() ? "ready\n" : "not ready\n");
 
    std::regex re1("tte");
    std::regex_search(target, sm, re1);
 
    std::cout << "after search, smatch is "
              << (sm.ready() ? "ready\n" : "not ready\n");
}

输出

default constructed smatch is not ready
after search, smatch is ready