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


R glob2rx 将通配符或通配符模式更改为正则表达式


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

说明

将通配符(又名通配符模式)更改为相应的正则表达式(regexp)。

用法

glob2rx(pattern, trim.head = FALSE, trim.tail = TRUE)

参数

pattern

字符向量

trim.head

逻辑指定是否应从结果中删除前导"^.*"

trim.tail

逻辑指定是否应从结果中删除尾随".*$"

细节

这采用大多数 shell 所使用的通配符并返回等效的正则表达式。 '⁠?⁠' 映射到 '⁠.⁠'(匹配单个字符),'⁠*⁠' 到 '⁠.*⁠’(匹配任何字符串,包括空字符串),并且该模式是锚定的(它必须从开头开始并在末尾结束)。 (可选)简化生成的正则表达式。

请注意,现在即使是‘⁠(⁠', '⁠[⁠' 和 '⁠{⁠’可以用在pattern, 但glob2rx()可能无法正确处理任意字符pattern.

与输入 pattern 长度相同的字符向量,其中每个通配符都会转换为相应的正则表达式。

例子

stopifnot(glob2rx("abc.*") == "^abc\\.",
          glob2rx("a?b.*") == "^a.b\\.",
          glob2rx("a?b.*", trim.tail = FALSE) == "^a.b\\..*$",
          glob2rx("*.doc") == "^.*\\.doc$",
          glob2rx("*.doc", trim.head = TRUE) == "\\.doc$",
          glob2rx("*.t*")  == "^.*\\.t",
          glob2rx("*.t??") == "^.*\\.t..$",
          glob2rx("*[*")  == "^.*\\["
)

作者

Martin Maechler, Unix/sed based version, 1991; current: 2004

也可以看看

regexp 关于正则表达式,sub 等关于使用正则表达式的替换。

相关用法


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