2010-07-07 10 views
1

En utilisant un remplacement d'expression régulière générale (pour moi, je le fais par TextMate) est-il possible de modifier un jeton capturé?Modifier des jetons capturés à partir d'une expression régulière?

J'ai essentiellement eu une poignée de énumérations que je veux modifier ...

CONSTANT get { return 1; } 
CONSTANT get { return 2; } 
CONSTANT get { return 3; } 

Ce que je voudrais faire est de capturer le « retour x » ...

return [\d] 

... mais modifier la valeur de retour en décrémentant par 1

$1-1 

est-il de toute façon de faire cela uniquement en utilisant des expressions rationnelles?

TIA!

Bob

+0

Regexps par eux-mêmes ne vous donne pas superpuissances édition; nous devons en savoir un peu plus sur l'environnement. Dans quelle langue tout cela se passe-t-il? Est-ce que "TextMate" est un programme avec un langage macro? S'il vous plaît ajouter un tag approprié! –

Répondre

1

Il ne peut se faire uniquement en utilisant des expressions rationnelles. Arithmétique n'est pas une capacité de regex. Vous devez écrire un script.

+0

S'what j'ai figuré. Mais, suppositions, vous savez ... –

+0

C'est ce que je pensais, mais j'ai pensé que je demanderais juste d'être certain. Merci d'avoir répondu. –

0

Utilisez un regex qui remplace 9 avec 8, 8 avec 7, 7 avec 6, etc.