NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
match_result类 参考

正则表达式匹配结果类 更多...

#include <regex.hpp>

Public 类型

using iterator = vector<string>::const_iterator
 捕获组迭代器类型

Public 成员函数

 match_result ()=default
 默认构造函数
 match_result (string subject, size_t pos, size_t len, const vector< string > &groups, vector< pair< size_t, size_t > > group_positions)
 构造函数
NEFORCE_NODISCARD bool matched () const noexcept
 检查是否匹配成功
NEFORCE_NODISCARD size_t position () const noexcept
 获取匹配起始位置
NEFORCE_NODISCARD size_t length () const noexcept
 获取匹配长度
NEFORCE_NODISCARD string_view data () const noexcept
 获取完整匹配的文本
NEFORCE_NODISCARD size_t size () const noexcept
 获取捕获组数量
NEFORCE_NODISCARD string_view operator[] (const size_t idx) const noexcept
 获取指定捕获组
NEFORCE_NODISCARD pair< size_t, size_tposition (const size_t idx) const noexcept
 获取指定捕获组的位置信息
NEFORCE_NODISCARD string_view prefix () const noexcept
 获取匹配前的前缀
NEFORCE_NODISCARD string_view suffix () const noexcept
 获取匹配后的后缀
NEFORCE_NODISCARD iterator begin () const noexcept
 格式化替换结果
NEFORCE_NODISCARD iterator end () const noexcept
 获取捕获组迭代器结束位置

详细描述

正则表达式匹配结果类

存储一次正则表达式匹配的结果,包括匹配到的文本、捕获组、 匹配位置等信息。支持格式化输出和迭代器访问。

在文件 regex.hpp58 行定义.

构造及析构函数说明

◆ match_result()

match_result::match_result ( string subject,
size_t pos,
size_t len,
const vector< string > & groups,
vector< pair< size_t, size_t > > group_positions )

构造函数

参数
subject原始字符串
pos匹配起始位置
len匹配长度
groups捕获组文本列表
group_positions捕获组位置列表

成员函数说明

◆ begin()

NEFORCE_NODISCARD iterator match_result::begin ( ) const
inlinenoexcept

格式化替换结果

参数
fmt格式化字符串
返回
格式化后的字符串

支持的转义序列:

  • $$: 美元符号
  • $&: 完整匹配
  • $`: 前缀
  • $': 后缀
  • $n: 第n个捕获组(n为0-9)
  • ${name}: 命名捕获组 */ NEFORCE_NODISCARD string format(string_view fmt) const;

/**

获取捕获组迭代器起始位置

返回
捕获组迭代器

在文件 regex.hpp167 行定义.

◆ data()

NEFORCE_NODISCARD string_view match_result::data ( ) const
inlinenoexcept

获取完整匹配的文本

返回
匹配到的完整字符串

在文件 regex.hpp108 行定义.

引用了 matched().

◆ end()

NEFORCE_NODISCARD iterator match_result::end ( ) const
inlinenoexcept

获取捕获组迭代器结束位置

返回
捕获组迭代器

在文件 regex.hpp173 行定义.

◆ length()

NEFORCE_NODISCARD size_t match_result::length ( ) const
inlinenoexcept

获取匹配长度

返回
匹配的字符长度

在文件 regex.hpp102 行定义.

◆ matched()

NEFORCE_NODISCARD bool match_result::matched ( ) const
inlinenoexcept

检查是否匹配成功

返回
匹配成功返回true

在文件 regex.hpp90 行定义.

引用了 basic_string< char >::npos.

被这些函数引用 data(), prefix() , 以及 suffix().

◆ operator[]()

NEFORCE_NODISCARD string_view match_result::operator[] ( const size_t idx) const
inlinenoexcept

获取指定捕获组

参数
idx捕获组索引(0表示完整匹配)
返回
捕获组文本,越界返回空字符串

在文件 regex.hpp121 行定义.

◆ position() [1/2]

NEFORCE_NODISCARD size_t match_result::position ( ) const
inlinenoexcept

获取匹配起始位置

返回
匹配在字符串中的起始索引

在文件 regex.hpp96 行定义.

◆ position() [2/2]

NEFORCE_NODISCARD pair< size_t, size_t > match_result::position ( const size_t idx) const
inlinenoexcept

获取指定捕获组的位置信息

参数
idx捕获组索引
返回
包含起始位置和长度的pair

在文件 regex.hpp130 行定义.

引用了 basic_string< char >::npos.

◆ prefix()

NEFORCE_NODISCARD string_view match_result::prefix ( ) const
inlinenoexcept

获取匹配前的前缀

返回
匹配位置之前的字符串

在文件 regex.hpp138 行定义.

引用了 matched().

◆ size()

NEFORCE_NODISCARD size_t match_result::size ( ) const
inlinenoexcept

获取捕获组数量

返回
捕获组总数(包括第0组完整匹配)

在文件 regex.hpp114 行定义.

◆ suffix()

NEFORCE_NODISCARD string_view match_result::suffix ( ) const
inlinenoexcept

获取匹配后的后缀

返回
匹配位置之后的字符串

在文件 regex.hpp144 行定义.

引用了 matched().


该类的文档由以下文件生成: