R 从列表中选择元素

R 从列表中选择元素,r,regex,R,Regex,我在列表中有一个姓名列表,例如: site<-list("site2-site22" ,"site2-site45", "site4-site2", "site6-site2", "site9-site27", "site20-site150", "site25-site272", "site32-site47", "site62-site74", "site272-site280") 它提供从site2开始的所有值,即我的结果如下所示: "s

我在列表中有一个姓名列表,例如:

site<-list("site2-site22" ,"site2-site45", "site4-site2", "site6-site2",
           "site9-site27", "site20-site150", "site25-site272", "site32-site47",
           "site62-site74", "site272-site280")
它提供从site2开始的所有值,即我的结果如下所示:

"site2-site22"    "site2-site45"    "site4-site27"    "site9-site27" 
"site20-site150"  "site25-site272"  "site272-site280"

我怎样才能只从列表中选择site2?

我确信有很多其他方法可以使用正则表达式来实现这一点,但这个简单的方法很有效:

grep("^site2-|-site2$",site,value=T)

非常感谢您的快速回复。
grep("^site2-|-site2$",site,value=T)
grep("site2-|-site2$",site,value=T)