std::match_results<BidirIt,Alloc>::operator[]
来自cppreference.com
| |
(C++11 起) | |
若 n > 0 且 n < size(),则返回到 std::sub_match 的引用,它表示第 n 个捕获的有标记子表达式所匹配的目标序列部分。
若 n == 0,则返回到 std::sub_match 的引用,它表示返回整个匹配的正则表达式所匹配的目标序列部分。
若 n >= size(),则返回到 std::sub_match 的引用,它表示不配的子表达式(目标序列的空子范围)。
ready() 必须为 true。否则,其行为未定义。
参数
| n | - | 指定要返回哪个匹配的整数 |
返回值
返回到表示目标序列中指定的匹配子范围的 std::sub_match 的引用。
示例
运行此代码
#include <iostream>
#include <regex>
#include <string>
int main()
{
std::string target("baaaby");
std::smatch sm;
std::regex re1("a(a)*b");
std::regex_search(target, sm, re1);
std::cout << "整个匹配: " << sm[0] << '\n'
<< "子匹配 #1: " << sm[1] << '\n';
std::regex re2("a(a*)b");
std::regex_search(target, sm, re2);
std::cout << "整个匹配: " << sm[0] << '\n'
<< "子匹配 #1: " << sm[1] << '\n';
}
输出:
整个匹配: aaab
子匹配 #1: a
整个匹配: aaab
子匹配 #1: aa
参阅
| 返回特定子匹配的字符序列 (公开成员函数) |