std::match_results<BidirIt,Alloc>::operator[]
来自 cppreference.com
< cpp | regex | match results
const_reference operator[]( size_type n ) const; |
(自 C++11 起) | |
如果 n > 0 且 n < size(),则返回对 std::sub_match 的引用,该引用表示目标序列中由第 nth 个捕获的 标记的子表达式 匹配的部分。
如果 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
[编辑] 另请参阅
返回特定子匹配的字符序列 (公共成员函数) |