Как Вы используете больше чем 9 групп получения regex в emacs?

Я пытаюсь преобразовать довольно длинную последовательность значений к другому формату, с помощью команды замены-regex emac. Существует больше чем 9 значений для извлечения, таким образом, эта \1 - \9 обратных ссылок недостаточно.

Как может я обратная ссылка больше чем 9 групп получения в emacs? Названные группы могут использоваться? Если так, как?

6
задан 02.05.2011, 22:40

0 ответов

Начиная с Emacs 23 можно включать код Lisp в regexp текст замены. Это дает Вам способ использовать больше обратных ссылок. Функция match-string возвращает пронумерованные обратные ссылки.

\1 … \9 \,(or (match-string 10) "")

Начиная с Emacs 22, если существует какая-либо заключенная в скобки группа в regexp, для которого у Вас не должно быть обратной ссылки, использовать \(?:…\) (Emacs называет это застенчивой группой).

7
ответ дан 07.12.2019, 16:04

Теги

Похожие вопросы