REGEX

使用正则表达式匹配、提取或选择性地替换文本。

tip

This function is available since LibreOffice 6.2.


语法

REGEX( 文本 ; 表达式 [ ; [ 替换] [ ; 标记|次数 ] ] )

文本」: 要应用正则表达式的文本或对单元格的引用。

表达式」: 表示正则表达式的文本, 使用「 ICU 正则表达式」愈发。如果没有匹配项, 并且未给出替换, 则返回 #N/A。

替换」: 可选。替换文本以及对捕获组的引用。如果没有匹配项, 则「文本」将原样返回。

标记」: 可选。「g」替换「文本」中「表达式」的所有匹配项, 而不是部分。如果没有匹配项, 文本将原样返回。

次数」: 可选。数字,指定要提取或替换「文本」中「表达式」的匹配项的次数。如果没有匹配项, 并且未给出替换, 则返回 #N/A 。如果没有匹配项且给出了「替换, 则原样返回「文本」。如果次数」为 0, 则原样返回「文本」。

示例

=REGEX("123456ABCDEF";"[:digit:]";"Z")」返回「Z23456ABCDEF」, 其中匹配到到第一个数字被替换为「Z」。

=REGEX("123456ABCDEF";"[:digit:]";"Z";"g")」返回「ZZZZZZABCDEF」,其中所有数字都被替换为「Z」。

=REGEX("123456ABCDEF";"[126]";"";"g")」返回「345ABCDEF」,其中出现的所有「1」「2」或「6」都被空字符串替换, 因此它们被删去。

=REGEX("axbxcxd";".x";;2)」返回「bx」「.x」的第二次匹配。

=REGEX("axbxcxd";"(.)x";"$1y";2)」返回「axbycxd」,其中「(.)x」的第二次匹配 (即「bx」) 被替换为单字符捕获组「即「b」」后跟「y」。

请支持我们!