看起來grep在返回匹配的方式中是「貪婪」的。假設我有以下數據:R grep和精確匹配
Sources <- c(
"Coal burning plant",
"General plant",
"coalescent plantation",
"Charcoal burning plant"
)
Registry <- seq(from = 1100, to = 1103, by = 1)
df <- data.frame(Registry, Sources)
如果我執行grep("(?=.*[Pp]lant)(?=.*[Cc]oal)", df$Sources, perl = TRUE, value = TRUE)
,它返回
"Coal burning plant"
"coalescent plantation"
"Charcoal burning plant"
不過,我只想要回精確匹配,即只有在「煤」和「植物」發生。我不想要「聚結劑」,「種植園」等。因此,對於這個,我只是想看看"Coal burning plant"
只需使用''==然後,如果你想完全匹配:'$ DF來源[DF $來源== 「燃煤電廠」]' – thelatemail
@thelatemail這將在這方面的工作實例。但想象一下,如果我還有其他條目,如「煤電蒸汽機廠」,「柴油機廠」等,我也想回復這些。 – sedeh
這真的不是同一個問題。如果你在這個問題上改變people.jpg來表示人們,然後做一個你在尋找人的grep,它會以「人民」的身份迴歸事件。您可以運行下面看看我說的話:'X < - C( 「imageUploaded,人民更,逗號分隔,東西」, 「imageUploaded」, 「people.jpg」 ) xmatches < - 相交( ) x [xmatches]' – sedeh