Console Library 8.0.0
A header-only library that makes C++ simple
Loading...
Searching...
No Matches
console::BasicRegex< CharT, Traits >::Match Class Reference

匹配结果对象,保存文本副本和位置信息,不依赖迭代器有效性。 More...

#include <re.h>

Classes

struct  GroupInfo

Public Member Functions

 Match ()
 默认构造函数,创建一个空的匹配结果。
 Match (string_type t, const match_type &m)
 构造函数,从文本和匹配结果创建匹配对象。
string_type group (int n=0) const
 获取指定组的子串。
std::vector< string_type > groups () const
 获取所有组的子串。
int start (int n=0) const
 获取指定组的起始位置。
int end (int n=0) const
 获取指定组的结束位置。
std::pair< int, int > span (int n=0) const
 获取指定组的起始和结束位置。
 operator bool () const
 显式转换为 bool 类型。

Private Attributes

string_type text_copy
 文本副本。
std::vector< GroupInfo > groups_
 组信息列表。
bool success
 匹配成功标志。

Detailed Description

template<class CharT = char, class Traits = std::char_traits<CharT>>
class console::BasicRegex< CharT, Traits >::Match

匹配结果对象,保存文本副本和位置信息,不依赖迭代器有效性。

Constructor & Destructor Documentation

◆ Match() [1/2]

template<class CharT = char, class Traits = std::char_traits<CharT>>
console::BasicRegex< CharT, Traits >::Match::Match ( )
inline

默认构造函数,创建一个空的匹配结果。

◆ Match() [2/2]

template<class CharT = char, class Traits = std::char_traits<CharT>>
console::BasicRegex< CharT, Traits >::Match::Match ( string_type t,
const match_type & m )
inline

构造函数,从文本和匹配结果创建匹配对象。

Parameters
t文本副本。
m匹配结果。

Member Function Documentation

◆ end()

template<class CharT = char, class Traits = std::char_traits<CharT>>
int console::BasicRegex< CharT, Traits >::Match::end ( int n = 0) const
inline

获取指定组的结束位置。

Parameters
n组的索引,默认为 0。
Returns
匹配成功时返回组的结束位置,否则返回 -1。

◆ group()

template<class CharT = char, class Traits = std::char_traits<CharT>>
string_type console::BasicRegex< CharT, Traits >::Match::group ( int n = 0) const
inline

获取指定组的子串。

Parameters
n组的索引,默认为 0。
Returns
匹配成功时返回组的子串,否则返回空字符串。

◆ groups()

template<class CharT = char, class Traits = std::char_traits<CharT>>
std::vector< string_type > console::BasicRegex< CharT, Traits >::Match::groups ( ) const
inline

获取所有组的子串。

Returns
匹配成功时返回所有组的子串列表,否则返回空列表。

◆ operator bool()

template<class CharT = char, class Traits = std::char_traits<CharT>>
console::BasicRegex< CharT, Traits >::Match::operator bool ( ) const
inlineexplicit

显式转换为 bool 类型。

Returns
匹配成功返回 true,否则返回 false。

◆ span()

template<class CharT = char, class Traits = std::char_traits<CharT>>
std::pair< int, int > console::BasicRegex< CharT, Traits >::Match::span ( int n = 0) const
inline

获取指定组的起始和结束位置。

Parameters
n组的索引,默认为 0。
Returns
匹配成功时返回组的起始和结束位置,否则返回 (-1, -1)。

◆ start()

template<class CharT = char, class Traits = std::char_traits<CharT>>
int console::BasicRegex< CharT, Traits >::Match::start ( int n = 0) const
inline

获取指定组的起始位置。

Parameters
n组的索引,默认为 0。
Returns
匹配成功时返回组的起始位置,否则返回 -1。

Member Data Documentation

◆ groups_

template<class CharT = char, class Traits = std::char_traits<CharT>>
std::vector<GroupInfo> console::BasicRegex< CharT, Traits >::Match::groups_
private

组信息列表。

◆ success

template<class CharT = char, class Traits = std::char_traits<CharT>>
bool console::BasicRegex< CharT, Traits >::Match::success
private

匹配成功标志。

◆ text_copy

template<class CharT = char, class Traits = std::char_traits<CharT>>
string_type console::BasicRegex< CharT, Traits >::Match::text_copy
private

文本副本。


The documentation for this class was generated from the following file: