R学习笔记(6):R中的正则表达式基础知识

R里面用字符串来表示正则表达式, 当涉及到转义字符时有些绕,比如
想用\.来表示.,字符串形式是\\.
想用\\来表示\,字符串形式是\\\\

1. 两个锚点

^$分别表示字符串开头和结尾匹配,可以一起使用来表示整词匹配。

2. 字符类与字符选项

常见的,比如:

\d表示任意数字
\s表示任意空白字符,如空格、制表符、换行符
[abc]三者之一
[^abc]三者之外
|表示或, 优先级很低

关于括号(),需注意:

通常( )只表示分组,若确实想匹配 ( 或 ) 则需要转义

> str_view(c("grey","gray"),"gr(e|a)y") #两个字符串都会匹配到
> str_view("(we) are one","\\(we\\)") #会匹配(we)
3. 重复次数控制

?: 0次或1次
+: 1次或多次
*: 0次或多次
{n}: 匹配n次
{n,m}: 匹配n次到m次
{n,}、{,m}同理

关于贪婪匹配,默认情况下正则表达式会匹配尽可能长的字符串。

4. 回溯引用
str_view("abc def:abc,def", "(ab.)\\s(de.):\\1,\\2") #\1和\2分别匹配第一和第二个括号里面的字符串

你可能感兴趣的:(R学习笔记(6):R中的正则表达式基础知识)