Comment utiliser des expressions régulières dans r

R prend en charge le concept des expressions régulières, ce qui vous permet de rechercher des modèles à l'intérieur du texte. Vous ne pouvez jamais avoir entendu des expressions régulières, mais vous êtes probablement familier avec le concept général. Si vous avez déjà utilisé un * ou un ? pour indiquer toute lettre dans un mot, alors vous avez utilisé une forme de recherche générique. Les expressions régulières soutiennent l'idée de jokers et bien plus encore.

Les expressions régulières permettent trois façons de faire un modèle de recherche plus générale que d'un seul, l'expression fixe:

  • Alternatives: Vous pouvez rechercher les occurrences d'un motif ou un autre, indiqué par le | symbole. Par example Plage | hêtre deux matchs plage et hêtre.

    Sur anglais et américains claviers anglais, vous pouvez généralement trouver le | sur la même touche que la barre oblique inverse ().

  • Groupement: Vous modèles de regrouper en utilisant des parenthèses (). Par exemple, vous écrivez être (a | e) ch pour trouver à la fois plage et hêtre.

  • Quantificateurs: Vous spécifiez si un élément dans le modèle doit être répétée ou non en ajoutant * (se produit un zéro ou plusieurs fois) ou + (se produit une ou plusieurs fois). Par exemple, pour trouver soit bach ou hêtre (zéro ou plus de un et e mais pas les deux), vous utilisez b (e * | a *) ch.




Essayez les exemples suivants. Tout d'abord, créer une nouvelle variable avec cinq mots:

> Rwords lt; - c ("Bach", "arrière", "hêtre", "plage", "noir")

Trouver soit plage ou hêtre utilisant la correspondance de remplacement:

> Grep ("plage | hêtre", rwords) [1] 3 4

Cela signifie que la chaîne de recherche a été trouvé dans les éléments 3 et 4 de rwords. Pour extraire les éléments réels, vous pouvez utiliser de sous-ensembles avec des crochets:

> Rwords [grep ("plage | hêtre", rwords)] [1] "hêtre" "plage"

Maintenant, utilisez la règle de regroupement pour extraire les mêmes mots:

> Rwords [grep ("être (a | e) ch", rwords)] [1] "hêtre" "plage"

Enfin, utiliser la modification de quantificateurs pour extraire bach et hêtre mais non plage:

rwords [grep ("b (e * | a *) ch", rwords)] [1] "bach" "hêtre"

Pour trouver plus d'aide dans la recherche sur les expressions régulières, regardez la page d'aide ?regexp. Quelques autres grandes ressources pour en apprendre davantage sur les expressions régulières sont Wikipedia, où vous pouvez trouver un guide de démarrage rapide et des tutoriels.


» » » » Comment utiliser des expressions régulières dans r