方法

GLibRegexreplace_literal

自 2.14 起可用

声明 [源]

gchar*
g_regex_replace_literal (
  const GRegex* regex,
  const gchar* string,
  gssize string_len,
  gint start_position,
  const gchar* replacement,
  GRegexMatchFlags match_options,
  GError** error
)

描述 [源]

将正则表达式 regex 中所有与模式匹配的实例替换为替换文本。替换文本将被原样替换,若要用到反向引用,请使用 g_regex_replace()

设置 start_position 与仅传递缩短后的字符串并设置 G_REGEX_MATCH_NOTBOL 不同,尤其是在模式以任何形式的回溯断言(例如,"\b")开始的情况下。

自 2.14 起可用

参数

string

类型: 一个 gchar 数组

要执行匹配的字符串。

数组长度由 string_len 参数指定。
数据由方法的调用者拥有。
每个元素都是一个以空字符终止的 UTF-8 字符串。
string_len

类型: gssize

string 的长度(字节),如果 string 以空字符终止,则 -1。

start_position

类型: gint

要匹配的字符串的起始索引(字节)。

replacement

类型: const gchar *

替换每个匹配的文本。

数据由方法的调用者拥有。
它是一个以空字符终止的 UTF-8 字符串。
match_options

类型: GRegexMatchFlags

匹配选项。

error

类型: GError **

一个可恢复错误的返回位置。[更多关于 GError 的使用规则]

该参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError
如果没有错误,方法将保留初始化为 NULL 的参数。
如果发生错误,将设置一个新分配的 GError;调用者将拥有数据,并负责释放它。

返回值

类型: gchar *

包含替换的全新分配的字符串。

方法调用者将拥有返回的数据,并负责释放它。
它是一个以空字符终止的 UTF-8 字符串。