Учитывая строку, я хочу заменить все ссылки в ней описанием ссылки.Например, учитывая
this is a [[http://link][description]]
Я хотел бы вернуть
this is a description
Я использовал re-builder для построения этого регулярного выражения для ссылки:
\\[\\[[^\\[]+\\]\\[[^\\[]+\\]\\]
Thisмоя функция:
(defun flatten-string-with-links (string)
(replace-regexp-in-string "\\[\\[[^\\[]+\\]\\[[^\\[]+\\]\\]"
(lambda(s) (nth 2 (split-string s "[\]\[]+"))) string))
Вместо замены всей последовательности регулярных выражений она заменяет только завершающий "]]".Вот что он производит:
this is a [[http://link][descriptiondescription
Я не понимаю, что происходит не так.Любая помощь будет высоко ценится.
ОБНОВЛЕНИЕ : я улучшил регулярное выражение для ссылки.Это не имеет отношения к вопросу, но если кто-то собирается скопировать его, он также может получить лучшую версию.