我尝试使用正则表达式匹配包含单个反斜杠的字符串。例如,
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)
视为不完整的句子。
答案 0 :(得分:1)
我相信你想使用fixed = TRUE
以便按字面解释反斜杠:
grep("lang=\\", x, fixed = TRUE)
但是在您提供的示例中,仍然会返回整数(0)。原因是你在打印的x值中看到的是转义字符本身。尝试搜索'lang =“'而不是注意转义的引用:
grep("lang=\"", x, fixed = TRUE)