public member function
<regex>

std::basic_regex::imbue

locale_type imbue (locale_type loc);
灌输区域设置
locbasic_regex 对象关联,并重置正则表达式。

在内部,此函数调用内部存储的 regex traits 对象的 imbue 成员。

此函数会重置 basic_regex 对象,因此它不再匹配任何字符序列(就像使用 regex 的默认构造函数构造的一样)。 一旦赋予了新值,您可以使用 basic_regex::assignbasic_regex::operator= 将新的正则表达式模式分配给对象。

在构造时,使用默认 regex_traitsbasic_regex 对象使用全局区域设置 (locale::global)。

参数

loc
要赋予为 basic_regex 的新区域设置的区域设置对象。
locale_type是一个成员类型,定义为其regex traits的同名类型的别名,对于标准 regex_traits 而言,它是标准 locale 类型。

返回值

与调用之前与 basic_regex 关联的区域设置对象
locale_type是一个成员类型,定义为其regex traits的同名类型的别名,对于标准 regex_traits 而言,它是标准 locale 类型。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// basic_regex::imbue
// note: using regex, a standard alias of basic_regex<char>
#include <iostream>
#include <regex>
#include <locale>

int main ()
{
  std::regex myregex;

  myregex.imbue (std::locale::classic());
  myregex.assign ("sub[a-z]*");
  
  if (std::regex_match ("subject", myregex))
    std::cout << "The string matches." << std::endl;

  return 0;
}

输出
The string matches.


另见