正则表达式中 \\d、\\D、^、$ 等的含义

4
这些表达式是什么意思?我在哪里可以了解它们的用法?
\\d 
\\D 
\\s 
\\S 
\\w 
\\W
\\t 
\\n 
^   
$   
\   
|  etc..

我需要使用stringr包,但我完全不知道如何使用它们。


2
通常我们期望一些代码问题,以及努力、数据和期望的输出。你可以查看 ?regexp,http://regexr.com/,http://regexone.com/,Google等网站。 - Vincent Bonhomme
еңЁRдёӯиҫ“е…Ҙ?regexд»ҘиҺ·еҸ–жңүе…іжӯЈеҲҷиЎЁиҫҫејҸзҡ„дҝЎжҒҜгҖӮжӯӨйЎөйқўеә•йғЁиҝҳжңүж•ҷзЁӢе’Ңе…¶д»–дҝЎжҒҜзҡ„й“ҫжҺҘпјҡhttps://code.google.com/archive/p/gsubfn/ - G. Grothendieck
1个回答

7

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

插入符号‘^’和美元符号‘$’是元字符,分别匹配行的开头和结尾处的空字符串。符号‘\<’和‘>’匹配单词的开头和结尾处的空字符串。符号‘\b’匹配单词的任一边缘处的空字符串,而‘\B’匹配提供的空字符串,只要它不在单词的边缘处。(“单词”的解释取决于语言环境和实现:这些都是扩展功能。)

来自类perl正则表达式:

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

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

来自?Quotes:

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

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


2
\n\t?Quotes帮助页面的“字符常量”部分有描述。 - Richie Cotton
@RichieCotton,如果你愿意的话,请随意编辑。 (这个答案应该是社区维基吗?) - Ben Bolker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接