R:在一个正则表达式中不是AND的所有东西

时间:2016-10-03 16:39:27

标签: r regex

x是一个字符串:

x="alt=\"white\"/>"

我想在R中的一个正则表达式中提取"white" 我试试

gsub(pattern ="[(^[:alpha:])|(alt)]" ,replacement ="" ,x =x)

但显然,它不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

这是你正在寻找的吗?

some_vector <- c("alt=\"white\"/>", "alt=\"black\"/>")
colours <- gsub('(alt)="([^"]+)"', '\\1=""', some_vector)
colours
# [1] "alt=\"\"/>" "alt=\"\"/>"

一般来说,你应该选择一些解析器。

答案 1 :(得分:1)

如果您对引号中出现的某些模式感兴趣,请尝试此操作:

gsub(".*\"(.*)\".*", "\\1", x)
#[1] "white"