2013-01-13 3 views
1

Je suis en train de faire extrait CodeIgniter CRUD pour Sublime Text 2 et je ne peux pas comprendre comment écrire regex snipet, qui renvoie une partie spécifique de la variable TM_FILEPATHSublime Text 2 TM_FILEPATH regex snippet

J'ai trouvé celui-ci dans l'un des extraits CodeIgniter:

${TM_FILEPATH/.+((?:application).+)/$1/:application/controllers/${1/(.+)/\l$1.php/}}

Si l'emplacement du fichier est par exemple:

/D/Web/MyApp/application/controllers/admin/user.php

Cet extrait retourne:

application/controllers/admin/user.php

Ce que je dois seulement la partie après "contrôleurs" et sans extension, dans cet exemple:

admin/user

PS: Le chemin après les contrôleurs peut avoir un certain nombre de répertoires, il peut être user ou admin/something/user.

Répondre

3
${TM_FILEPATH/.+(?:controllers\/)(.+)\.\w+/PATH\l$1/} 
+0

merci pour votre réponse mais cela retourne 'PATH/admin/test' pour le fichier situé dans' controllers/admin/test'. J'ai enlevé le 'PATH' de votre regex, maintenant il retourne'/admin/test'. Y a-t-il un moyen de supprimer la première barre oblique? –

+0

@ Fliper333 mis à jour – xiaoyi

+0

génial, je travaille! Je ne suis pas sûr pourquoi le mot "PATH" est dans l'expression, parce que le "CHEMIN" est le dans le résultat aussi, mais quand je l'enlève, cela fonctionne. Je vous remercie! –