公共成员函数
<regex>

std::match_results::ready

bool ready() const;
测试结果是否就绪
返回值true如果 match_results 对象具有完全建立的结果状态,并且false否则为 false。

当对象是 默认构造的,此值初始化为false。 任何调用 regex_matchregex_search 并将 match_results 对象作为参数都会将此值设置为true,即使该函数未能成功找到任何匹配项。

要检查在特定调用 regex_matchregex_search 之后是否存在匹配项,您可以使用 match_results::empty

当对象通过解引用有效的 regex_iterator 获得时,此值始终为true.

参数



返回值

true如果对象具有完全建立的结果状态。false否则为 false。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// match_results::ready
// - using smatch, a standard alias of match_results<string::iterator>
#include <iostream>
#include <string>
#include <regex>

int main ()
{
  std::string mystring ("subject");
  std::smatch mymatch;
  std::regex myregex ("sub.*");

  std::cout << std::boolalpha;
  std::cout << "mymatch.ready() is " << mymatch.ready() << std::endl;

  std::regex_match ( mystring, mymatch, myregex );
  std::cout << "attempting match..." << std::endl;
  
  std::cout << "mymatch.ready() is " << mymatch.ready() << std::endl;

  if (mymatch.ready()) std::cout << "matched: " << mymatch[0] << std::endl;

  return 0;
}

输出
mymatch.ready() is false
attempting match...
mymatch.ready() is true
matched: subject


另见