Je cherche la bonne expression régulière. Le suivant
t1 = c("IGF2, IGF2AS, INS, TH", "TH", "THZH", "ZGTH")
grep("TH",t1, value=T)
renvoie tous les éléments de t1
, mais seuls le premier et le second sont corrects. Je veux juste que les entrées avec Word/phrase TH
soient renvoyées?
Vous devez ajouter les ancres de limite de mot (\b
) autour de vos chaînes de recherche afin que seuls les mots entiers soient mis en correspondance (c'est-à-dire des mots entourés de caractères autres que des mots ou de début/fin de chaîne), où "caractère de mot" signifie \w
, c'est-à-dire Caractère alphanumérique).
Essayer
grep("\\bTH\\b",t3, value=T)
Vous pouvez utiliser \<
et \>
dans une expression rationnelle pour correspondre au début/à la fin du mot.
grep ("\\<TH\\>", t1)
etc.
Une autre option:
grep("^TH$",t1, value=T)