Emacs Regex Capture+Replace: (abc (:key map)) -> (abc (-> map :key str))

Emacs Regex Capture+Replace: (abc (:key map)) -> (abc (-> map :key str))

У меня есть куча кода (clojure), который выглядит примерно так:

(content (:some-key some-map))

Я хочу, чтобы этот код стал таким:

(content (-> some-map :some-key str))

Я пытался:

(content (\(:[-a-z].*\) \([-a-z].*\)))

Для поисковой части, а также:

(content (-> \2 \1 str))

Для замены части, но совпадений не обнаружено. Я что-то делаю не так?

решение1

Попробуйте (content (\(:[-a-z]+\) \([-a-z]+\)))вместо этого.

решение2

Неважно. Моя ошибка. На самом деле я делал замену без регулярных выражений, когда думал, что делаю замену с регулярными выражениями. Извините за ошибку.

Связанный контент