Doxygen
reg::Match类 参考

Object representing the matching results. 更多...

#include <regex.h>

Public 成员函数

 Match ()
 Creates an empty match object 更多...
 
size_t position () const
 Returns the position of the match or std::string::npos if no position is set. 更多...
 
size_t length () const
 Returns the position of the match or std::string::npos if no length is set. 更多...
 
std::string str () const
 Return a string representing the matching part. 更多...
 
SubMatch prefix () const
 Return the part of the string before the match 更多...
 
SubMatch suffix () const
 Return the part of the string after the match 更多...
 
size_t size () const
 Returns the number of sub matches available in this match. 更多...
 
const SubMatchoperator[] (size_t index) const
 Returns the n-th SubMatch object. 更多...
 

Private 成员函数

void init (const std::string *str)
 
void startCapture (size_t index)
 
void endCapture (size_t index)
 
void setMatch (size_t pos, size_t len)
 

Private 属性

std::vector< SubMatchm_subMatches
 
size_t m_captureIndex =0
 
const std::string * m_str = nullptr
 
bool m_insideCapture =false
 

友元

class Ex
 

详细描述

Object representing the matching results.

It consists of an array of SubMatch objects. The first entry of the array represents the whole match, any next elements represent each of the capture ranges.

For example string @42 and expression @(\\d+) will have two Submatches, match[0] will point to the input string as a whole, and match[1] will point to the number 42 only.

在文件 regex.h163 行定义.

构造及析构函数说明

◆ Match()

reg::Match::Match ( )
inline

Creates an empty match object

在文件 regex.h167 行定义.

170 {

成员函数说明

◆ endCapture()

void reg::Match::endCapture ( size_t  index)
inlineprivate

在文件 regex.h220 行定义.

230 {

◆ init()

void reg::Match::init ( const std::string *  str)
inlineprivate

在文件 regex.h203 行定义.

208  {

◆ length()

size_t reg::Match::length ( ) const
inline

Returns the position of the match or std::string::npos if no length is set.

在文件 regex.h173 行定义.

173 {

引用了 m_str, position() , 以及 reg::SubMatch::setMatch().

被这些函数引用 reg::Iterator::operator*().

◆ operator[]()

const SubMatch& reg::Match::operator[] ( size_t  index) const
inline

Returns the n-th SubMatch object.

Note that there is always 1 SubMatch object representing the whole match.

在文件 regex.h199 行定义.

200 {

引用了 m_captureIndex , 以及 m_subMatches.

◆ position()

size_t reg::Match::position ( ) const
inline

Returns the position of the match or std::string::npos if no position is set.

在文件 regex.h170 行定义.

170 {

引用了 m_str.

被这些函数引用 length() , 以及 reg::Iterator::operator*().

◆ prefix()

SubMatch reg::Match::prefix ( ) const
inline

Return the part of the string before the match

在文件 regex.h179 行定义.

181 { return m_subMatches.size(); }

引用了 m_subMatches.

◆ setMatch()

void reg::Match::setMatch ( size_t  pos,
size_t  len 
)
inlineprivate

在文件 regex.h229 行定义.

230 {
231  public:
232  using value_type = Match;

◆ size()

size_t reg::Match::size ( ) const
inline

Returns the number of sub matches available in this match.

在文件 regex.h194 行定义.

197 {

◆ startCapture()

void reg::Match::startCapture ( size_t  index)
inlineprivate

在文件 regex.h209 行定义.

210  {
211  m_captureIndex=0;
212  m_subMatches.back().setEnd(index);
213  m_insideCapture = false;
214  }
215  }
216  void setMatch(size_t pos,size_t len)
217  {
218  m_subMatches[m_captureIndex].setMatch(pos,len);
219  }

引用了 m_captureIndex, m_insideCapture , 以及 m_subMatches.

◆ str()

std::string reg::Match::str ( ) const
inline

Return a string representing the matching part.

在文件 regex.h176 行定义.

181 { return m_subMatches.size(); }

◆ suffix()

SubMatch reg::Match::suffix ( ) const
inline

Return the part of the string after the match

在文件 regex.h182 行定义.

186  { return m_subMatches[index]; }
187 
188  private:
189  friend class Ex;
190  void init(const std::string *str)
191  {

引用了 m_subMatches.

友元及相关函数文档

◆ Ex

friend class Ex
friend

在文件 regex.h202 行定义.

类成员变量说明

◆ m_captureIndex

size_t reg::Match::m_captureIndex =0
private

在文件 regex.h235 行定义.

被这些函数引用 operator[]() , 以及 startCapture().

◆ m_insideCapture

bool reg::Match::m_insideCapture =false
private

在文件 regex.h237 行定义.

被这些函数引用 startCapture().

◆ m_str

const std::string* reg::Match::m_str = nullptr
private

在文件 regex.h236 行定义.

被这些函数引用 length() , 以及 position().

◆ m_subMatches

std::vector<SubMatch> reg::Match::m_subMatches
private

在文件 regex.h234 行定义.

被这些函数引用 operator[](), prefix(), startCapture() , 以及 suffix().


该类的文档由以下文件生成:
reg::Match::str
std::string str() const
Return a string representing the matching part.
Definition: regex.h:176
reg::Match::Ex
friend class Ex
Definition: regex.h:202
reg::Match::setMatch
void setMatch(size_t pos, size_t len)
Definition: regex.h:229
reg::Match::Match
Match()
Creates an empty match object
Definition: regex.h:167
reg::Match::init
void init(const std::string *str)
Definition: regex.h:203
reg::Match::m_insideCapture
bool m_insideCapture
Definition: regex.h:237
reg::Match::m_subMatches
std::vector< SubMatch > m_subMatches
Definition: regex.h:234
reg::Match::m_captureIndex
size_t m_captureIndex
Definition: regex.h:235