Dubrowsky
Хроники одного дупла
Блогово  →  WebDev  → 

jEdit - поиск и замена по регулярному выражению

09 Июля 2011 года

Мне периодически приходится выполнять очень тупую (но очень срочную) работу по обновлению контента на древних статических сайтах, коих у нас еще сколько-то осталось.

Как правило, задача в общем виде заключается в верстке длиннючих HTML-табличек из файлов word/excel. Имея нехитрый инструментарий, можно справляться сравнительно бодро.

Например, неоценимую помощь в борьбе оказывает мне текстовый редактор jEdit с его замечательной функцией замены по регуляркам.

Простой пример: верстаем табличку с цифрами, порядки у чисел разделены пробелами, в результате числа расползаются на 2 строки. white-space:nowrap в CSS не спасает, т.к. ячейки с числами никак не маркированы.

Что делаем мы:

  1. Жмем ctrl+f
  2. Открывается окошко "Search and replace" - убеждаемся, что стоит галка "Regular expression"
  3. Search for... - пишем регулярку, в нашем случае такую: (\d)\s+(\d) - никаких delimiters не надо
  4. Replace with - $1 $2 - все обычно, номер подстановки соответсвует порядковому номеру пары скобок
  5. Тыкаем несколько раз Find, чтоб проверить, что находится нужное
  6. Проматываем в начало, тыкаем несколько раз Find & Replace, чтоб проверить, что заменяется оно тоже на нужное - на этих шагах при необходимости корректируем регулярное выражение и замену с подстановками
  7. Если надо выполнить замену во всем документе - жмем Replace All, производим визуальный осмотр на предмет разрушений, радуемся.
  8. Если надо сделать замену только по части документа - закрываем окошко поиска, выделяем нужный фрагмент, жмем Ctrl+e, затем Ctrl+r - у jEdit есть такой способ биндить хоткеи на последовательность нажатий. Если у вас не работает, смотрите в Utilities / Global options / Shortcuts / в "Filter" пишем "replace in selection"
  9. Собственно, если выделение одно - предыдущий пункт можно выполнить из окошка поиска, поставив галку "Selection" в блоке "Search in..."

Как-то так. Кто ничего не понял - оно вам либо не надо, либо вы не знаете регулярки :)

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

15.02.2013 · 23 каммента · рейтинг 10.05
28.04.2008 · 44 каммента · рейтинг 9.68
30.01.2013 · 13 камментов · рейтинг 7.52
28.03.2008 · 23 каммента · рейтинг 6.96
19.01.2008 · 20 камментов · рейтинг 6.43

Последне камменты

22.07.2017  СергейПочему не работает form.submit(): Также столкнулся с неработающим .submit() при отпр...
20.07.2017  СергейСвязь: Здравствуйте. Хочу предложить Вам тройной обмен п...
17.07.2017  Илья АрхипкинСколько журналистов в России?: Мне рассказывали как журналисты освещали акцию в К...
21.05.2017  Vadim GukОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Большое спасибо за решение задачи.
20.05.2017  ДмитрийТестовое задание для PHP-программиста (Junior): А джуны ещё нужны у вас в компании?

Статсы