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


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