regex - 匹配正则表达式中的单个反斜杠

标签 regex string r

我正在尝试使用正则表达式来匹配包含单个反斜杠的字符串。例如,

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/

相关文章:

javascript - 序列化和反序列化JS对象

python - 从 Python 字符串中读取字节

regex - SAS 中的正则表达式

java - 用于检查字符串是否是严格字母数字的正则表达式

java - 使用正则表达式查找两个字符串之间的字符串

c - strtoull 基于输入字符串

r - 将观察数据框转化为等级

r - 在 R 中使用 Shiny : how to make a weblink work in the output

r bquote : remove the space before approximately equal plotmath symbol

java - 正则表达式,获取#后面的单词,以及#后面的单词,如果单词是 'the'