std::match_results<BidirIt,Alloc>::ready
来自cppreference.com
< cpp | regex | match results
bool ready() const; |
(C++11 起) | |
指示匹配结果是否就绪(合法)。
默认构造的匹配结果无结果状态(未就绪),而且只能由正则表达式算法之一变为就绪。就绪 状态意味着已经完全建立了所有匹配结果。
在未就绪 的匹配结果对象上调用大多数成员函数的结果未定义。
返回值
若匹配结果就绪则为 true,否则为 false。
示例
运行此代码
#include <iostream> #include <regex> #include <string> int main() { std::string target("pattern"); std::smatch sm; std::cout << "默认构造的 smatch 为 " << (sm.ready() ? " 就绪\n" : " 未就绪\n"); std::regex re1("tte"); std::regex_search(target, sm, re1); std::cout << "搜索之后, smatch 为 " << (sm.ready() ? " 就绪\n" : " 未就绪\n"); }
输出:
默认构造的 smatch 为 未就绪 搜索之后, smatch 为 就绪