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


R grepRaw 原始向量的模式匹配


R語言 grepRaw 位於 base 包(package)。

說明

grepRaw 在原始向量 x 中搜索子字符串 pattern 匹配。

用法

grepRaw(pattern, x, offset = 1L, ignore.case = FALSE,
        value = FALSE, fixed = FALSE, all = FALSE, invert = FALSE)

參數

pattern

包含要在給定原始向量中匹配的 regular expression (或 fixed = TRUE 的固定模式)的原始向量。如果可能的話,由 charToRaw 強製轉換為字符串。

x

尋找匹配的原始向量,或者可以被 charToRaw 強製轉換為原始向量的對象。不支持Long vectors

ignore.case

如果 FALSE ,則模式匹配區分大小寫;如果 TRUE ,則在匹配過程中忽略大小寫。

offset

一個整數,指定搜索應開始的偏移量。必須是正的。行的開頭被定義為該偏移量,因此 "^" 將在那裏匹配。

value

合乎邏輯的。確定返回值:請參閱“值”。

fixed

合乎邏輯的。如果 TRUEpattern 是要按原樣匹配的模式。

all

合乎邏輯的。如果 TRUE 返回所有匹配項,否則僅返回第一個匹配項。

invert

合乎邏輯的。如果 TRUE 返回不匹配元素的索引或值。被忽略(帶有警告),除非 value = TRUE

細節

grep 不同,在原始向量 x 中尋找匹配模式。這尤其在 all = TRUE 情況下有影響,例如,匹配空字符串的模式本質上是無限的,因此可能會導致意外的結果。

參數 invert 被解釋為要求返回匹配的補碼,這僅對 value = TRUE 有意義。參數 offset 確定搜索的開始,而不是補集的開始。請注意,invert = TRUEall = TRUE 會將 x 分割成由模式分隔的片段,包括前導和尾隨空字符串(因此,在這種情況下使用帶有 "^""$" 的正則表達式可能會導致不太直觀的結果)。

支持某些參數組合,例如 fixed = TRUEvalue = TRUE,但意義不大。

grepRaw(value = FALSE) 返回發生匹配的偏移量的整數向量。如果all = FALSE,那麽它將是長度零(不匹配)或長度一(第一個匹配位置)。

grepRaw(value = TRUE, all = FALSE) 返回一個原始向量,該向量或者為空(不匹配),或者為 x 的匹配部分。

grepRaw(value = TRUE, all = TRUE) 返回與匹配部分相對應的原始向量列表(可能為空)。

例子

grepRaw("no match", "textText")  # integer(0): no match
grepRaw("adf", "adadfadfdfadadf") # 3 - the first match
grepRaw("adf", "adadfadfdfadadf", all=TRUE, fixed=TRUE)
## [1]  3  6 13 -- three matches

來源

fixed = TRUE 外,均使用 Ville Laurikari (https://github.com/laurikari/tre/) 的 TRE 庫。

也可以看看

regular expression(又名regexp)了解模式規範的詳細信息。

grep 用於匹配字符向量。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Pattern Matching for Raw Vectors。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。