Мы можем попробовать использовать grepl
с шаблоном \b[a-z]+(?:\\s+[a-z]+)*\b
:
matches = a[grepl("\\b[a-z]+(?:\\s+[a-z]+)*\\b", a$some_col), ]
matches
v1 some_col
1 1 iam best in the world
2 2 you are awesome
Данные:
a <- data.frame(v1=c(1:3),
some_col=c("iam best in the world", "you are awesome", "Iam Good"))
Используемый шаблон регулярного выражения соответствует слову в нижнем регистре, за которым следуют пробел и другое слово в нижнем регистре, последнее повторяется ноль или более раз. Обратите внимание, что мы помещаем границы слов вокруг шаблона, чтобы гарантировать, что мы не получим ложные совпадения флага для слова, начинающегося с заглавной буквы.