Namespaces
Variants

std::match_results<BidirIt,Alloc>:: position

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
difference_type position ( size_type n = 0 ) const ;
(C++11以降)

指定されたサブマッチの最初の文字の位置を返します。

n == 0 の場合、完全に一致した式の最初の文字の位置が返されます。

n > 0 && n < size ( ) の場合、 n th 番目の部分マッチの最初の文字の位置が返されます。

if 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

関連項目

指定された部分マッチを返す
(公開メンバ関数)