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

正则表达式类 更多...

#include <regex.hpp>

Public 成员函数

 regex (const string &pattern, uint32_t options=0)
 从字符串构造正则表达式
NEFORCE_NODISCARD match_result do_match (const string &str) const
 执行完整匹配
NEFORCE_NODISCARD bool match (const string &str) const
 检查是否完全匹配
NEFORCE_NODISCARD match_result search (const string &str, size_t pos=0) const
 在字符串中搜索第一个匹配
NEFORCE_NODISCARD vector< match_resultfind_all (const string &str) const
 查找所有匹配
string replace_first (const string &str, string_view fmt) const
 替换第一个匹配
string replace_all (const string &str, string_view fmt) const
 替换所有匹配
string replace_all_callback (const string &str, function< string(const match_result &)> callback) const
 使用回调函数替换所有匹配
NEFORCE_NODISCARD vector< stringsplit (const string &str, int max_splits=-1) const
 使用正则表达式分割字符串
NEFORCE_NODISCARD int capture_count () const noexcept
 获取捕获组数量
NEFORCE_NODISCARD const stringpattern () const noexcept
 获取正则表达式模式
NEFORCE_NODISCARD bool valid () const noexcept
 检查正则表达式是否有效
NEFORCE_NODISCARD regex_iterator begin (const string &str) const
 获取匹配结果迭代器起始位置
NEFORCE_NODISCARD regex_iterator end (const string &str) const
 获取匹配结果迭代器结束位置

详细描述

正则表达式类

PCRE2正则表达式引擎,提供编译、匹配、查找、替换、分割等操作。 支持正则表达式的完整功能,包括捕获组、向后引用、断言等。

在文件 regex.hpp188 行定义.

构造及析构函数说明

◆ regex()

regex::regex ( const string & pattern,
uint32_t options = 0 )
explicit

从字符串构造正则表达式

参数
pattern正则表达式模式
options编译选项(PCRE2选项标志)
异常
regex_exception编译失败时抛出

引用了 pattern() , 以及 regex().

被这些函数引用 regex().

成员函数说明

◆ begin()

NEFORCE_NODISCARD regex_iterator regex::begin ( const string & str) const

获取匹配结果迭代器起始位置

参数
str待遍历的字符串
返回
匹配迭代器起始位置

◆ capture_count()

NEFORCE_NODISCARD int regex::capture_count ( ) const
inlinenoexcept

获取捕获组数量

返回
正则表达式中定义的捕获组数量

在文件 regex.hpp302 行定义.

◆ do_match()

NEFORCE_NODISCARD match_result regex::do_match ( const string & str) const

执行完整匹配

参数
str待匹配字符串
返回
匹配结果

要求正则表达式完全匹配整个字符串。

◆ end()

NEFORCE_NODISCARD regex_iterator regex::end ( const string & str) const

获取匹配结果迭代器结束位置

参数
str待遍历的字符串
返回
匹配迭代器结束位置

◆ find_all()

NEFORCE_NODISCARD vector< match_result > regex::find_all ( const string & str) const

查找所有匹配

参数
str待搜索字符串
返回
所有匹配结果列表

◆ match()

NEFORCE_NODISCARD bool regex::match ( const string & str) const

检查是否完全匹配

参数
str待匹配字符串
返回
完全匹配返回true

◆ pattern()

NEFORCE_NODISCARD const string & regex::pattern ( ) const
inlinenoexcept

获取正则表达式模式

返回
原始正则表达式字符串

在文件 regex.hpp308 行定义.

被这些函数引用 regex().

◆ replace_all()

string regex::replace_all ( const string & str,
string_view fmt ) const

替换所有匹配

参数
str原始字符串
fmt替换格式字符串
返回
替换后的字符串

◆ replace_all_callback()

string regex::replace_all_callback ( const string & str,
function< string(const match_result &)> callback ) const

使用回调函数替换所有匹配

参数
str原始字符串
callback回调函数,接收match_result返回替换字符串
返回
替换后的字符串

◆ replace_first()

string regex::replace_first ( const string & str,
string_view fmt ) const

替换第一个匹配

参数
str原始字符串
fmt替换格式字符串
返回
替换后的字符串

◆ search()

NEFORCE_NODISCARD match_result regex::search ( const string & str,
size_t pos = 0 ) const

在字符串中搜索第一个匹配

参数
str待搜索字符串
pos起始搜索位置
返回
第一个匹配结果

◆ split()

NEFORCE_NODISCARD vector< string > regex::split ( const string & str,
int max_splits = -1 ) const

使用正则表达式分割字符串

参数
str待分割字符串
max_splits最大分割次数,-1表示无限制
返回
分割后的字符串列表

◆ valid()

NEFORCE_NODISCARD bool regex::valid ( ) const
inlinenoexcept

检查正则表达式是否有效

返回
已编译成功返回true

在文件 regex.hpp314 行定义.


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