Регулярные выражение Notepad++ – наше все!

«>Регулярные выражение Notepad++ – наше все!

believeindream 2018-02-21 4 комментария

 

Приветствую друзья. Все знают, что во втором блокноте есть регулярки. Так вот, не так давно, мне пришлось опять столкнулся с ними, при размещения  контента на PBN. Ну или с ручной заменой в куче статей, чего я не хотел. И так, давайте чуть я зацитирую с других ресурсов основу, а дальше покажу пару классных приемов, что понадобились именно мне. Возможно, кому то будет полезно. Погнали!

. — Точка представляет один любой символ

^ — Начало строки

$ — Конец строки

s — Пробел

S — Не Пробел

w — буква, цифра или подчёркивание _

d — Любая цифра

D — Любой символ, но не цифра

[0-9] — Любая цифра

[a-z] — Любая буква от a до z (весь латинский набор символов) в нижнем регистре

[A-Z] — Любая буква от a до z в ВЕРХНЕМ регистре

[a-zA-Z] — Любая буква от a до z в любом регистре

[a-Z] — То же самое

* — «Повторитель». Означает, что предшествующий символ может повторяться (0 или более раз)

.* — Абсолютно любой набор символов. Например, условие <p> .*</p> — найдет все что между тегами <p> </p>

(^.*$) — Любой текст между началом и концом строки

([0-9][0-9]*.) — ищет любые двухзначные в данном случае цифры

nr — Ищет пустые строки. Вроде как если оставить пустым окно “Заменить” то удаляет пустые строки, но можно поставить вот это 

А теперь больше полезности:

Например, у вас есть 100500 страниц контента, где допущена какая-либо ошибка, например, как было у меня. Посмотрите, в дескрипшене есть еще один одиночный апостроф :

title: ‘Lorem Ipsum is simply dummy text of the printing and typesetting industry. ‘
visible: true
process:
markdown: true
twig: true
description: ‘Lorem Ipsum ‘is simply dummy text of the printing and typesetting industry. Lorem Ipsum is simply dummy text of the printing and typesetting industry. ‘

Вот его то мы и будем удалять вот такой регуляркой:

(^.*’)(.*)(‘)(.*)(‘$)

Для чего нужны эти скобки? Они нужны для того, что бы “определить части”

То есть:

1 – (^.*’)

2 – (.*)

3 – (‘)

4 – (.*)

5 – (‘$)

Давайте разберем по порядку:

  • Ищем начало строки, и любое количество символов, пока не встретится ‘
  • Любое количество символов
  • Одиночный апостроф
  • Любое количество символов
  • Одиночный апостроф и конец строки
  • Это части. Зачем они? Для дальнейшей замены или удаления только одной из них. Вот таким способом:

    1245

     

    Грубо говоря, я удаляю только 3ю часть из текста. А 1, 2, 4, 5 – останется. Где и как применять:

    Найти (^.*’)(.*)(‘)(.*)(‘$)
    Заменить на
    1245

    В частности, удаляю 2й апостроф, если мы находим такого рода конструкцию в документе. Запускаю поиск и замену по файлам – и вуаля, готово! А что если у нас несколько апострофов в дескрипшене?  Не беда, увеличиваем регулярку, добавляя внутрь еще правила:

    2 лишних опострафа в дескрипшине:

    Найти (^.*’)(.*)(‘)(.*)(‘)(.*)(‘$)
    Заменить на
    12467

     

    3 лишних опострафа в дескрипшине:
    Найти (^.*’)(.*)(‘)(.*)(‘)(.*)(‘)(.*)(‘$)
    Заменить на
    124689

     

    Таким образом, можно приспособить к любой замене символа, или группы символов в большом количестве контентных страниц. Кому не понятно – добро пожаловать в коментарии, обязательно помогу!

    Похожие записи: