Подтвердить что ты не робот

Используя grep в R, чтобы найти строки как целые слова (но не строки как часть слов)

Я ищу правильное регулярное выражение. Следующий

t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)

возвращает все элементы t1, но верны только первые и второй. Я просто хочу, чтобы записи со словом/фразой TH вернулись?

4b9b3361

Ответ 1

Вам нужно добавить привязки к границе слова (\b) вокруг строк поиска, поэтому будут сопоставлены только целые слова (т.е. слова, окруженные не-словные символы или начало/конец строки, где "символ слова" означает \w, то есть буквенно-цифровой символ).

Try

grep("\\bTH\\b",t3, value=T)

Ответ 2

Вы можете использовать \< и \> в регулярном выражении для соответствия в начале/конце слова.

grep ("\\<TH\\>", t1) и т.д.