std::regex_traits

来自cppreference.com
< cpp‎ | regex
在标头 <regex> 定义
template< class CharT >
class regex_traits;
(C++11 起)

类型特征模板 regex_traitsstd::basic_regex 提供在类型 CharT 上的操作所需的一组类型和函数。

因为大多数正则表达式操作是对本地环境敏感的(设置 std::regex_constants::collate 标志时),从而 regex_traits 类典型地保有一个 std::locale 实例作为其私有成员。

标准特化

标准库定义 std::regex_traits 的两个特化:

std::regex_traits<char>
std::regex_traits<wchar_t>

这些特化使得 std::basic_regex<char>(别名 std::regex)和 std::basic_regex<wchar_t>(别名 std::wregex)可用。为将 std::basic_regex 用于其他字符类型(例如 char32_t),必须使用用户提供的特征类。

成员类型

类型 定义
char_type CharT
string_type std::basic_string<CharT>
locale_type 用于正则表达式中本地化行为的本地环境。必须为可复制构造
char_class_type 表示字符分类,并足以保有 lookup_classname 所返回的实现指定集合。必须是位掩码类型

成员函数

构造 regex_traits 对象
(公开成员函数)
[静态]
计算空终止字符串的长度
(公开静态成员函数)
确定字符的等价键
(公开成员函数)
确定字符的无关大小写的等价键
(公开成员函数)
确定给定字符串的排序键,用于提供校排顺序
(公开成员函数)
确定字符序列的主排序键,用于确定等价类
(公开成员函数)
按名称获得校排元素
(公开成员函数)
按名称获得字符类
(公开成员函数)
指示本地化字符类的从属关系
(公开成员函数)
把代表数字的字符翻译成整数值
(公开成员函数)
设置本地环境
(公开成员函数)
获得本地环境
(公开成员函数)