R中的矩形括号的正则表达式

Pat*_*thy 6 regex r

通常在R中,可以在具有两个斜杠的正则表达式中使用元字符,例如(变为\(,但我发现方括号不同).

mystring <- "abc[de"

#remove [,] and $ characters

gsub("[\\[\\]$]","",mystring)

[1] "abc[de"
Run Code Online (Sandbox Code Playgroud)

[[:punct:]]但是如果我不需要,我讨厌使用非标准的正则表达式.可以使用正则表达式集语法吗?

Wik*_*żew 5

你应该启用perl = TRUE,然后你可以使用更直接的类似Perl的语法(恕我直言):

gsub("[\\[\\]$]","",mystring, perl = TRUE)
Run Code Online (Sandbox Code Playgroud)

演示

结果:

[1] "abcde"
Run Code Online (Sandbox Code Playgroud)

  • R正则表达式函数中的默认值应该是'perl = TRUE`. (2认同)