У меня проблема с поиском всех строк, которые имеют первые несколько (> = 2) символов повтор дважды в строке на языке R.
Например
Строки должны выбрать
(1) все ochir все y ------> первые 3 символа «все» повторены дважды в строке
(2) froufrou ------> первые 4 символа 'frou' повторяются дважды в строке
(3) в gro под ------> первые 5 символов «под» повторяются дважды в строке
Строки должны НЕ выделять
(1 ) gummage ------> даже первый символ 'g' повторяется дважды, но только 1 символ, не соответствует условию, поскольку> = 2 первых символа
(2) hypergoddess ------> нет первых нескольких символов повторяется дважды
(3) kgashga ------> четное «ga» повторяется дважды, но не включает первый символ «k», не соответствует условию, требующему включения первого символа
Слышал о backreference
(например, \ b или \ w) mig Это может быть полезно, но все еще не в состоянии понять, не могли бы вы помочь выяснить?
Примечание: я вижу, что в качестве метода для использования используется xmatch <- str_extract_all(x, regex) == x
, str_extract_all
из library(stringr)
x <- c("allochirally", "froufrou", "undergrounder", "gummage", "hypergoddess", "kgashga")
regex <- "as described details here"
function(x, regex) {
xmatch <- str_extract_all(x, regex) == x
matched_x <- x[xmatch]
}
Если очень кратко предпочли бы!! Спасибо