我正在尝试使用正则表达式来匹配包含单个反斜杠的字符串。例如,
library(RCurl)
x <- getURL("http://www.nytimes.com")
x
现在包含网页内容,其中包含许多单反斜杠。例如,在该字符串的开头附近有 lang=\"en\"
。现在假设我想将其与正则表达式函数匹配,例如 grep
。然而,
> grep("lang=\\", x)
Error in grep("lang=\\", x) :
invalid regular expression, reason 'Trailing backslash'
并且,
> grep("lang=\\\\", x)
integer(0)
使用三个反斜杠也不起作用,因为 R 会将 grep("lang=\\\", x)
视为不完整的子句。
最佳答案
我相信您想使用fixed = TRUE
,以便反斜杠按字面解释:
grep("lang=\\", x, fixed = TRUE)
但是在您提供的示例中,它仍然返回整数(0)。原因是您在打印的 x 值中看到的\本身就是转义字符。尝试搜索 'lang="' 而不是注意转义的引号:
grep("lang=\"", x, fixed = TRUE)
关于regex - 匹配正则表达式中的单个反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22766647/