Я пытаюсь преобразовать довольно длинную последовательность значений к другому формату, с помощью команды замены-regex emac. Существует больше чем 9 значений для извлечения, таким образом, эта \1 - \9 обратных ссылок недостаточно.
Как может я обратная ссылка больше чем 9 групп получения в emacs? Названные группы могут использоваться? Если так, как?
Начиная с Emacs 23 можно включать код Lisp в regexp текст замены. Это дает Вам способ использовать больше обратных ссылок. Функция match-string
возвращает пронумерованные обратные ссылки.
\1 … \9 \,(or (match-string 10) "")
Начиная с Emacs 22, если существует какая-либо заключенная в скобки группа в regexp, для которого у Вас не должно быть обратной ссылки, использовать \(?:…\)
(Emacs называет это застенчивой группой).