我试图从使用readLines
函数读取到R的相当非结构化的文本文件中提取一些文本(该文件是.json格式)。我想提取一个包含在每一行中的正则表达式,并具有以下模式:
\"text\":\" some random text \"
我知道引号和反斜杠对正则表达式至关重要,所以我对如何搜索它们感到很遗憾。我试过这个:
text <- regexpr('\\\"text\\\":\\(*?)\\\"', charactervector)
但它没有用。
有什么想法吗?提前谢谢!
答案 0 :(得分:2)
或许更明确的表达方式是
text <- regexpr('^[\\]"text[\\]":[\\]" some random text [\\]"', charactervector)
这假定文字输入字符串\"text\":\" some random text \"
我确实弄清楚如何让它只使用'\'字符,但这有点难看。
修改强>
只是评论,我在开头添加^
来锚定,但不需要。
答案 1 :(得分:1)
使用lookbehind和lookahead:
s <- '\"text\":\" some random text \"'
m <- regexpr('(?<=\\\"text\":\\\" ).*(?= \\")' , s, perl = TRUE)
regmatches(s, m)
#[1] "some random text"
答案 2 :(得分:0)