函数

GLibRegexsplit_simple

since: 2.14

声明 [src]

gchar**
g_regex_split_simple (
  const gchar* pattern,
  const gchar* string,
  GRegexCompileFlags compile_options,
  GRegexMatchFlags match_options
)

描述 [src]

在模式上分割字符串,并返回一个标记数组。如果模式包含捕获括号,则还会返回每个子串的文本。如果模式在字符串中无匹配,则将整个字符串作为第一个标记返回。

此函数等同于 g_regex_split(),但它不需要用 g_regex_new() 编译模式,在只需要执行分割而没有提取子串、捕获计数等的情况下,可以避免一些代码。

如果此函数要重复调用同一 pattern,则先将模式编译一次使用 g_regex_new(),然后使用 g_regex_split() 会更高效。

作为一个特殊案例,分割空字符串 “” 的结果是空的向量,而不是包含单个字符串的向量。这种特殊案例的原因是可以表示空向量通常比一致处理空元素更有用。如果您确实需要表示空元素,您需要在调用此函数之前检查空字符串。

可以匹配空字符串的模式会将 string 分割成单独的字符,只要它在字符之间匹配到空字符串。例如,使用分隔符 “\s*” 分割 “ab c”,您将得到 “a”、“b” 和 “c”。

Available since: 2.14

参数

pattern

类型: const gchar*

正则表达式。

数据由函数的调用者拥有。
值是空终止的 UTF-8 字符串。
string

类型: const gchar*

要扫描匹配的字符串。

数据由函数的调用者拥有。
值是空终止的 UTF-8 字符串。
compile_options

类型: GRegexCompileFlags

正则表达式的编译选项,或 0。

match_options

类型: GRegexMatchFlags

匹配选项,或 0。

返回值

类型: 一个 utf8 数组

一个以 NULL 结尾的字符串数组。使用 g_strfreev() 释放它。

该数组以 NULL 结尾。
函数的调用者拥有数据,并负责释放它。
每个元素都是空终止的 UTF-8 字符串。