web-dev-qa-db-fra.com

Est-il possible de NE PAS être dans une expression régulière dans TextMate?

J'ai un projet Matlab sur lequel je travaille dans l'éditeur TextMate d'OSX. Je dois trouver toutes les occurrences d'un mot donné, disons que c'est "foo", ce n'est pas non plus précédé d'un "." ou succédé par un "/".

Cependant, je ne trouve aucun moyen de rechercher des expressions rationnelles définies négativement de la sorte. Est-ce que quelqu'un sait s'il est possible de chercher quelque chose comme "A précédé de rien d'autre que B"?

(TextMate utilise la bibliothèque d’expressions régulières Oniguruma de K. Kosako.)

16
Nagel

Vous voulez utiliser ce bit de la syntaxe:

(?=subexp)         look-ahead
(?!subexp)         negative look-ahead
(?<=subexp)        look-behind
(?<!subexp)        negative look-behind

Dans votre cas, (?<!\.)foo(?!/)

22
m4573r

Le ^ (circonflexe ou caret) entre crochets annule l’expression. Donc, pour trouver un "foo" non précédé d'un "." serait:

[^.]foo
9
Brian