字符串正则表达式#

group strings_regex

枚举

enum regex_flags#

正则表达式标志。

这些类型可以通过或运算来组合。选择这些值是为了为未来的标志留出空间,并与Python的标志值相匹配。

值:

enumerator DEFAULT#

默认

enumerator MULTILINE#

‘^’ 和 ‘$’ 尊重换行符

enumerator DOTALL#

‘.’ 匹配包括换行符

enumerator ASCII#

在匹配内置字符类时仅使用ASCII

enumerator EXT_NEWLINE#

换行符匹配扩展字符

enum class capture_groups : uint32_t#

捕获组设置。

用于处理包含捕获组的正则表达式模式。这些可以用于优化生成的正则表达式指令,其中捕获组不需要提取组。

值:

enumerator EXTRACT#

捕获组通常用于提取。

enumerator NON_CAPTURE#

将所有捕获组转换为非捕获组。

函数

constexpr bool is_multiline(regex_flags const f)#

如果给定的标志包含MULTILINE,则返回true。

Parameters:

f – 要检查的正则表达式标志

Returns:

如果 f 包含 MULTILINE,则为 true

constexpr bool is_dotall(regex_flags const f)#

如果给定的标志包含DOTALL,则返回true。

Parameters:

f – 要检查的正则表达式标志

Returns:

如果 f 包含 DOTALL,则为 true

constexpr bool is_ascii(regex_flags const f)#

如果给定的标志包含ASCII,则返回true。

Parameters:

f – 要检查的正则表达式标志

Returns:

如果 f 包含 ASCII,则为 true

constexpr bool is_ext_newline(regex_flags const f)#

如果给定的标志包含EXT_NEWLINE,则返回true。

Parameters:

f – 要检查的正则表达式标志

Returns:

如果 f 包含 EXT_NEWLINE,则为 true

struct regex_program#
#include <regex_program.hpp>

正则表达式程序类。

从正则表达式模式创建一个实例,并使用它来调用适当的字符串API。实例可以重复使用。

有关支持正则表达式的模式和API的详细信息,请参阅Regex Features页面。

公共函数

regex_program(regex_program &&other)#

移动构造函数。

Parameters:

other – 要从中移动的对象

regex_program &operator=(regex_program &&other)#

移动操作符赋值。

Parameters:

other – 要从中移动的对象

Returns:

这个对象

std::string pattern() const#

返回用于创建此实例的模式。

Returns:

正则表达式模式作为字符串

regex_flags flags() const#

返回用于创建此实例的regex_flags。

Returns:

正则表达式标志设置

capture_groups capture() const#

返回用于创建此实例的capture_groups。

Returns:

捕获组设置

int32_t instructions_count() const#

返回此实例中的指令数量。

Returns:

指令数量

int32_t groups_count() const#

返回此实例中的捕获组数量。

Returns:

组数

std::size_t compute_working_memory_size(int32_t num_strings) const#

返回正则表达式执行的工作内存大小。

Parameters:

num_strings – 用于计算的字符串数量

Returns:

工作内存的大小,以字节为单位

公共静态函数

static std::unique_ptr<regex_program> create(std::string_view pattern, regex_flags flags = regex_flags::DEFAULT, capture_groups capture = capture_groups::EXTRACT)#

根据模式创建一个程序。

Throws:

cudf::logic_error – 如果模式无效或包含不支持的功能

Parameters:
  • pattern – 正则表达式模式

  • flags – 用于解释模式中特殊字符的正则表达式标志

  • capture – 控制模式中捕获组的使用方式

Returns:

此对象的实例