当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R aregexec 近似字符串匹配位置


R语言 aregexec 位于 utils 包(package)。

说明

确定近似字符串匹配的位置。

用法

aregexec(pattern, text, max.distance = 0.1, costs = NULL,
         ignore.case = FALSE, fixed = FALSE, useBytes = FALSE)

参数

pattern

非空字符串或包含要匹配的正则表达式(对于 fixed = FALSE )的字符串。如果可能的话,由 as.character 强制转换为字符串。

text

寻找匹配的字符向量。如果可能,由 as.character 强制转换为字符向量。

max.distance

一场比赛允许的最大距离。请参阅agrep

costs

转型成本。请参阅agrep

ignore.case

一个合乎逻辑的。如果是 TRUE ,则在计算距离时忽略大小写。

fixed

如果 TRUE ,则模式按字面匹配(按原样)。否则(默认),它将作为正则表达式进行匹配。

useBytes

一个合乎逻辑的。如果TRUE 比较是逐字节而不是逐字符。

细节

aregexec 提供了与 agrep 不同的近似字符串匹配接口(沿着 regexecgrep 提供的精确字符串匹配接口)。

请注意,默认情况下,agrep 执行文字匹配,而 aregexec 执行正则表达式匹配。

有关近似字符串匹配和距离的更多信息,请参阅agrepadist

如果 patterntext 的任何元素被标记为 "bytes" ,则比较是逐字节的。

text 长度相同的列表,如果没有匹配,则每个元素是 ,或者是具有匹配起始位置的整数序列以及与 pattern 的括号子表达式相对应的所有子字符串,属性 "match.length" 是一个整数向量,给出匹配的长度(或 表示不匹配)。

例子

## Cf. the examples for agrep.
x <- c("1 lazy", "1", "1 LAZY")
aregexec("laysy", x, max.distance = 2)
aregexec("(lay)(sy)", x, max.distance = 2)
aregexec("(lay)(sy)", x, max.distance = 2, ignore.case = TRUE)
m <- aregexec("(lay)(sy)", x, max.distance = 2)
regmatches(x, m)

也可以看看

regmatches 用于提取匹配的子字符串。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Approximate String Match Positions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。