Tengo un proyecto de Matlab en el que estoy trabajando en el editor OSX TextMate. Necesito encontrar todas las instancias de una determinada palabra, digamos que es "foo", que tampoco está precedida por "." o seguido por un "/".
Sin embargo, no puedo encontrar ninguna manera de buscar expresiones regulares definidas negativamente como esta. ¿Alguien sabe si es posible buscar algo como "A precedido por algo distinto de B"?
(TextMate utiliza elBiblioteca de expresiones regulares de Onigurumapor K. Kosako.)
Respuesta1
Quieres utilizar esta parte de la sintaxis:
(?=subexp) look-ahead
(?!subexp) negative look-ahead
(?<=subexp) look-behind
(?<!subexp) negative look-behind
En tu caso,(?<!\.)foo(?!/)
Respuesta2
El ^ (circunflejo o intercalado) dentro de corchetes niega la expresión. Entonces, para encontrar un "foo" que no esté precedido por un "." sería:
[^.]foo