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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。