Я пытаюсь написать регулярное выражение, которое дает мне индекс пути до определенной папки, а например:Emacs экстракт регулярных выражений путь
"/1/2/projects/myproject/application_self_service/development_settings.py"
Если вернуть индекс 5, так что я могу извлечь путь от строка с использованием (подстрока 0 5 строка)
Я стучал головой здесь, в самом деле:
(string-match-p (regexp-quote ".*\\project") "/1/2/projects/myproject/application_self_service/development_settings.py")
Возврат ноль все время .... Что не так?
В этом случае необходимо использовать 'regexp-quote'? Кроме того, почему вы используете две обратные косые черты перед словом «проект»? – lawlist
Я избегаю обратной косой черты. Я не настоящий эксперт ELisp, поэтому не стесняйтесь отвечать альтернативным решением. – pedr0
Я не видел обратную косую черту в строке '' /1/2/projects/myproject/application_self_service/development_settings.py «поэтому я спросил о вашем предполагаемом использовании. Если нет причин включать обратную косую черту, удалите ее. Аналогично, если в этом случае нет причин включать 'regexp-quote', удалите его. Рассмотрите возможность размещения тестовой строки в буфере '* scratch * ', а затем введите' M-x re-builder'. В буфере '* RE-Builder * 'введите между двойными кавычками (которые уже должны быть там)'. * Project', а затем немного поиграйте с ним и при необходимости отредактируйте регулярное выражение. – lawlist