std::match_results<BidirIt,Alloc>::operator[]
来自cppreference.com
< cpp | regex | match results
正则表达式库
类 | ||||
(C++11)
|
||||
(C++11)
|
||||
(C++11)
|
||||
算法 | ||||
(C++11)
|
||||
(C++11)
|
||||
(C++11)
|
||||
迭代器 | ||||
(C++11)
|
||||
(C++11)
|
||||
异常 | ||||
(C++11)
|
||||
特性 | ||||
(C++11)
|
||||
常量 | ||||
(C++11)
|
||||
(C++11)
|
||||
(C++11)
|
||||
正则表达式文法 | ||||
(C++11)
|
std::match_results
成员函数 | ||||
状态 | ||||
成员访问 | ||||
match_results::operator[]
|
||||
迭代器 | ||||
格式 | ||||
修改器 | ||||
非成员函数 | ||||
(C++20
前)
|
||||
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
参阅
返回特定子匹配的字符序列 (公开成员函数) |