查找包含不带另一个字符串的字符串的模式

时间:2013-08-15 14:28:46

标签: string r grep

我想在R中使用grepl函数来查找字符串是否包含某些内容,但条件是它不在其他内容之前。

例如,假设我想找到一个包含模式'xx'的字符串,只要它不在'yy'之前。所以:

'123xx45'世界归来TRUE

'123yy4xx5'也会返回TRUE,因为'yy'不在'xx'之前

'123yyxx45'会返回FALSE

如果有什么不清楚或想要一个更好的例子,请告诉我。

2 个答案:

答案 0 :(得分:6)

grepl('(?<!yy)xx', c('123yy4xx5','123xx45','123yyxx45'), perl=TRUE)怎么样?

答案 1 :(得分:3)

your.data <- c('123yy4xx5','123xx45','123yyxx45')
grepl("xx",your.data) & !grepl("yyxx",your.data)
[1]  TRUE  TRUE FALSE