使用grep以任意順序匹配多個模式的最短途徑是什麼?優選在一條短線中使用基線R.以任意順序在字符串中的任意位置匹配多個模式
下面是一個例子:
我想找到包含所有元素所有我matches
矢量這兩種元素,在任何順序,在在一起的my_vector
元素的任何位置,元素之間有任何字符。
matches <- c("fe", "ve")
# 1 2 3 4 5 6 7 8 9
my_vector <- c("fv", "v", "f", "f_v_e", "fe_ve", "feve", "vefe", "fve" , "a")
# want 5, 6, 7
我可以這樣做:
grep(paste0("(?=.*", paste0(matches, sep = ""), ")", collapse = ""),
my_vector,
perl = TRUE)
[1] 5 6 7
但有一個更簡潔的方法?在我的例子中,我有兩個元素可以匹配,但是我的實際問題有幾個。
@ user2100721 - 哪裏是「fe」在8? – thelatemail
@ user2100721 - *我想查找包含這兩個元素的所有**的所有元素* – thelatemail
@thelatemail:哦......對不起。我錯過了。謝謝。 – user2100721