當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。