Поиск и замена с использованием регулярных выражений, несомненно, является мощным инструментом для пользователя Emacs, который может регулярно выполнять эти действия. Однако, как новичок в Emacs (и / или программировании), регулярные выражения необходимо изучать и практиковать.
Могу ли я изучать и обучать регулярные выражения в интерактивном режиме в Emacs, подобно встроенному учебнику Emacs? Если нет, то каковы другие предложения по использованию Emacs для практики использования регулярных выражений для поиска и замены?
regular-expressions
learning
Феликс З. Хоффманн
источник
источник
Ответы:
Кроме того,
regexp-builder
вы можете также рассмотреть возможность использования visual-regexp с визуальной обратной связью в процессе замены:источник
anzu
, что делает то же самое и больше.Вы можете попробовать
M-x regexp-builder RET
интерактивный сопоставитель регулярных выражений, это неплохоисточник
C-g
не выходит, как вы ожидаете.C-c C-q
это связывание по умолчанию для выхода из построителя регулярных выражений, когда вы закончите практиковать.Я использую
regexp-builder
который позволяет вам тестировать регулярные выражения в интерактивном режиме и получать обратную связь. И, конечно, как только я начал использовать это, я сразу же спросил себя: «Как я могу кормить это регулярное выражениеquery-replace-regexp
?»Ответ, который я выбрал, - следующая функция, определенная на странице EmacsWiki ReBuilder .
Итак, мой рабочий процесс:
M-x re-builder
M-x reb-query-replace
источник
Это может быть огромной помощью, когда вы научитесь использовать регулярные выражения, чтобы увидеть, с какими частями регулярного выражения - в частности, группами регулярных выражений. И делать это в интерактивном режиме и постепенно.
Вдоль линий ответа @ immerr, в Сосульках поиск был аналогичное подсвечивание в течение длительного времени.
источник
Вы также можете использовать helm-regexp, который отображает группы регулярных выражений отдельно.
источник
Не в emacs, но http://rubular.com/ в основном
regexp-builder
с шпаргалкой. Вы можете настроить пример и дать ему ссылку на этот пример. Я использую это при обсуждении регулярных выражений с командой.источник
В качестве альтернативы Дэйву Ф.
regexp-builder
вы также можете создать произвольный текст для сопоставления с образцом.Наиболее полезная особенность этой команды заключается в том, что она будет подсвечивать совпадения в буфере при создании шаблона, чтобы помочь вам в обеспечении правильного соответствия шаблону.
Использование
(query-replace-regexp)
( C-M-%) и создание регулярного выражения для выполнения необходимой замены поможет вам попрактиковаться.источник
regexp-builder
еще не предлагаются? Проблема вquery-replace-regexp
том, что вам нужно написать целое регулярное выражение, а затем зафиксировать его, чтобы выяснить, что ему подходит. Если вам не нравится результат, вы должны начать все сначала.regexp-builder
показывает совпадения на лету, что облегчает настройку регулярного выражения, пока оно не сработает, если вы не знаете, что делаете.query-replace-regexp
вы привыкнете использовать его именно в Emacs