【问题标题】:Meaning of regular expressions like - \\d , \\D, ^ , $ etc [duplicate]正则表达式的含义,如 - \\d , \\D , ^ , $ 等 [重复]
【发布时间】:2016-05-02 12:30:16
【问题描述】:

这些表达是什么意思?我在哪里可以了解它们的用法?

\\d 
\\D 
\\s 
\\S 
\\w 
\\W
\\t 
\\n 
^   
$   
\   
|  etc..

我需要使用stringr 包,我完全不知道如何使用这些。

【问题讨论】:

  • 我们通常期望一些代码问题,以及努力和数据以及期望的输出。你可以去?regexpregexr.comregexone.com、谷歌等看看。
  • 从 R 中输入 ?regex 以获取有关正则表达式的信息。本页底部附近还有教程和其他信息的链接:code.google.com/archive/p/gsubfn

标签: regex r gsub stringr


【解决方案1】:

来自?regexp,在扩展正则表达式部分:

插入符号“^”和美元符号“$”是元字符 分别匹配a开头和结尾的空字符串 线。符号‘\’匹配空字符串 单词的开头和结尾。符号‘\b’匹配空 字符串位于单词的任一边缘,'\B' 匹配空字符串 前提是它不在单词的边缘。 (的解释 “word”取决于语言环境和实现:这些都是 扩展名。)

来自类 Perl 正则表达式

转义序列“\d”、“\s”和“\w”表示任何小数 数字、空格字符和“单词”字符(字母、数字或 当前语言环境中的下划线:在 UTF-8 模式下,仅 ASCII 字母 和数字被考虑)分别,以及他们的大写 版本代表他们的否定。不考虑垂直制表符 作为 PCRE 8.34 之前的“C”语言环境中的空格字符(包含在 R 3.0.3)。序列‘\h’、‘\v’、‘\H’和‘\V’匹配水平 和垂直空间或否定。 (在 UTF-8 模式下,这些 匹配非 ASCII Unicode 代码点。)

请注意,反斜杠通常需要在 R 输入中加倍/保护,例如你可以使用"\\h" 来匹配水平空间。

来自?Quotes

反斜杠用于在字符内开始转义序列 常数。转义不在下表中的字符是 错误。
\n 换行
\r 回车
\t 制表符

正如上面其他人评论的那样,如果您是第一次开始使用正则表达式,您可能需要更多帮助。这对于 StackOverflow 来说有点离题(链接到站外资源),但在 gsubfn package overview 的底部有一些指向正则表达式资源的链接。或者谷歌“正则表达式教程”...

【讨论】:

  • \n\t?Quotes 帮助页面的“字符常量”部分进行了描述。
  • @RichieCotton,如果您愿意,请随时编辑。 (这个答案应该成为社区维基吗?)
猜你喜欢
  • 1970-01-01
  • 2017-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
相关资源
最近更新 更多