方法
GLibRegexreplace
自: 2.14
声明 [src]
gchar*
g_regex_replace (
const GRegex* regex,
const gchar* string,
gssize string_len,
gint start_position,
const gchar* replacement,
GRegexMatchFlags match_options,
GError** error
)
描述 [src]
将正则表达式 regex
中的所有匹配项替换为替换文本。替换文本中的的形式 \number
或 \g<number>
的回引用将由匹配的第number个子表达式替换,\g<name>
指的是带有给定名称的捕获子表达式。\0
指的是整个匹配,但紧跟数字的 \0
是字符的八进制表示。要包含替换文本中的字面量 \
,请写作 \\\\
。
还有一些转义序列可以改变后续文本的大小写
- \l: 将下一个字符转换为小写
- \u: 将下一个字符转换为大写
- \L: 从\n到\E转换为小写
- \U: 从\n到\E转换为大写
- \E: 结束大小写修改
如果不需要使用回引,请使用g_regex_replace_literal()。
replacement
字符串必须为 UTF-8 编码,即使传递了 G_REGEX_RAW
给 g_regex_new()
。如果您想使用非 UTF-8 编码的字符串,请使用 g_regex_replace_literal()
。
设置 start_position
与仅传递缩短的字符串并将 G_REGEX_MATCH_NOTBOL
用于以任何类型的向后断言开始的模式(如“\b”)不同。
自: 2.14
参数
string
-
类型: 一个由
gchar
组成的数组要对其进行匹配的字符串。
数组的长度在 string_len
参数中指定。数据由方法的调用者所有。 每个元素都是一个以空字符终止的UTF-8字符串。 string_len
-
类型:
gssize
string
的长度(以字节为单位),如果string
以空字符终止,则为-1。 start_position
-
类型:
gint
字符串匹配的开始索引,以字节为单位。
替换内容
-
类型:
const gchar*
用来自替换每个匹配的文本。
数据由方法的调用者所有。 该值是NUL终止的UTF-8字符串。 匹配选项
-
类型:
GRegexMatchFlags
匹配的选项。
错误
-
类型:
GError **
可恢复错误的返回位置。
该参数可以是 NULL
。如果返回位置不为 NULL
,那么您必须将其初始化为一个NULL
的GError*
。如果没有错误,该方法将保留参数为 NULL
初始化。发生错误时,该参数将被设置为一个新的 GError
;调用者将保留这些数据,并负责释放它。