正则表达式(正则表达式)

角色类

  • [AB] 可以是 A 或 B.
  • [[:alpha:]] 可以是任何字母
  • [[:lower:]] 代表任何小写字母。请注意,[a-z] 接近但不匹配,例如,ú
  • [[:upper:]] 代表任何大写字母。请注意,[A-Z] 接近但不匹配,例如,Ú
  • [[:digit:]] 代表任何数字:0,1,2,…或 9,相当于 [0-9]

量词

+*? 照常用于正则表达式。 - +至少匹配一次,*匹配 0 次或更多次,? 匹配 0 或 1 次。

行开始和结束指示符

你可以在字符串中指定正则表达式的位置:

  • ^... 强制正则表达式位于字符串的开头
  • ...$ 强制正则表达式位于字符串的末尾

与其他语言的差异

请注意,R 中的正则表达式通常与其他语言中使用的正则表达式略有不同。

  • R 需要双反斜杠转义(因为 \ 已经意味着通常在 R 字符串中转义),因此,例如,要捕获大多数正则表达式引擎中的空白,只需要在 R 中键入\s,而不是\\s

  • R 中的 UTF-8 字符应该用大写 U 转义,例如 [\U{1F600}][\U1F600] 匹配😀,而在例如 Ruby 中,这将与小写 u 匹配。

其他资源

以下站点 reg101 是在使用 R-script 之前检查在线正则表达式的好地方。

[R 写频维基有一个专用的使用正则表达式的例子很多文本处理页面。