std::match_results<BidirIt,Alloc>::operator[]
< cpp | regex | match results
const_reference operator[]( size_type n ) const; |
(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 << "entire match: " << sm[0] << '\n' << "submatch #1: " << sm[1] << '\n'; std::regex re2("a(a*)b"); std::regex_search(target, sm, re2); std::cout << "entire match: " << sm[0] << '\n' << "submatch #1: " << sm[1] << '\n'; }
输出:
entire match: aaab submatch #1: a entire match: aaab submatch #1: aa
参阅
返回特定子匹配的字符序列 (公开成员函数) |