Dans Vim, si je veux faire une recherche qui correspond à "planA" ou "planB", je sais que je peux le faire:
/plan[AB]
Cela fonctionne parce que l'expression régulière autorise A ou B comme ensemble de caractères.
Mais comment puis-je spécifier l'une des deux chaînes complètes? Par exemple, "planetAwesome" ou "planetTerrible"?
Cela correspondra aux deux, ainsi qu'à "planetAnythingHereAsLongAsItsJustLetters":
planet\([a-zA-Z]*\)
Comment puis-je faire correspondre uniquement des chaînes qui correspondent exactement à "planetAwesome" ou "planetTerrible"?
plan[ABC]
matchsplanA
,planB
etplanC
tout aussi bien.Réponses:
Pour voir la documentation pertinente, lancez
:help /
et faites défiler jusqu'à la section «La définition d'un modèle».la source
\m
,\M
,\v
ou\V
. Il existe également une'magic'
option , mais il est généralement préférable de la laisser seule, car elle a un effet global (sauf si elle est remplacée par l'un des indicateurs ci-dessus)./\vplanet(Awesome|Terrible)
Pour ajouter à la réponse de Gilles, vous voudrez peut-être ajouter quelques éléments:
\<
marque le début d'un «mot» (essentiellement alphanumérique)\>
marque la fin d'un «mot» (essentiellement alphanumérique)la source