std::match_results<BidirIt,Alloc>::position
difference_type position( size_type n = 0 ) const; | (начиная с C++11) |
Возвращает позицию первого символа указанного подсовпадения.
Если n == 0, возвращается позиция первого символа всего совпавшего выражения.
Если n > 0 && n < size(), возвращается позиция первого символа n-го подсовпадения.
если n >= size(), возвращается позиция первого символа несовпавшего совпадения.
ready() должен быть true. В противном случае поведение не определено.
Параметры
| n | - | целое число, указывающее, какое совпадение следует проверить |
Возвращаемое значение
Позиция первого символа указанного совпадения или подсовпадения.
Пример
#include <iostream>
#include <regex>
#include <string>
int main()
{
std::regex re("a(a)*b");
std::string target("aaab");
std::smatch sm;
std::regex_match(target, sm, re);
std::cout << sm.position(1) << '\n';
}
Вывод:
2
См. также
| возвращает указанное подсовпадение (открытая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/regex/match_results/position