Блогово
→
WebDev
→
jEdit - поиск и замена по регулярному выражению
09 Июля 2011 года
Мне периодически приходится выполнять очень тупую (но очень срочную) работу по обновлению контента на древних статических сайтах, коих у нас еще сколько-то осталось.
Как правило, задача в общем виде заключается в верстке длиннючих HTML-табличек из файлов word/excel. Имея нехитрый инструментарий, можно справляться сравнительно бодро.
Например, неоценимую помощь в борьбе оказывает мне текстовый редактор jEdit с его замечательной функцией замены по регуляркам.
Простой пример: верстаем табличку с цифрами, порядки у чисел разделены пробелами, в результате числа расползаются на 2 строки. white-space:nowrap в CSS не спасает, т.к. ячейки с числами никак не маркированы.
Что делаем мы:
- Жмем ctrl+f
- Открывается окошко "Search and replace" - убеждаемся, что стоит галка "Regular expression"

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