Приветствую друзья. Все знают, что во втором блокноте есть регулярки. Так вот, не так давно, мне пришлось опять столкнулся с ними, при размещения контента на 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]*.) — ищет любые двухзначные в данном случае цифры
\n\r — Ищет пустые строки. Вроде как если оставить пустым окно «Заменить» то удаляет пустые строки, но можно поставить вот это \0
А теперь больше полезности:
Например, у вас есть 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 — (‘$)
Давайте разберем по порядку:
- Ищем начало строки, и любое количество символов, пока не встретится ‘
- Любое количество символов
- Одиночный апостроф
- Любое количество символов
- Одиночный апостроф и конец строки
Это части. Зачем они? Для дальнейшей замены или удаления только одной из них. Вот таким способом:
\1\2\4\5
Грубо говоря, я удаляю только 3ю часть из текста. А 1, 2, 4, 5 — останется. Где и как применять:
Найти (^.*’)(.*)(‘)(.*)(‘$)
Заменить на
\1\2\4\5
В частности, удаляю 2й апостроф, если мы находим такого рода конструкцию в документе. Запускаю поиск и замену по файлам — и вуаля, готово! А что если у нас несколько апострофов в дескрипшене? Не беда, увеличиваем регулярку, добавляя внутрь еще правила:
2 лишних опострафа в дескрипшине:
Найти (^.*’)(.*)(‘)(.*)(‘)(.*)(‘$)
Заменить на
\1\2\4\6\7
3 лишних опострафа в дескрипшине:
Найти (^.*’)(.*)(‘)(.*)(‘)(.*)(‘)(.*)(‘$)
Заменить на
\1\2\4\6\8\9
Таким образом, можно приспособить к любой замене символа, или группы символов в большом количестве контентных страниц. Кому не понятно — добро пожаловать в коментарии, обязательно помогу!
Точняк, без регулярок с нотапедом+ никак:) Сотни часов времени и нервов сэкономили они мне))))))) За статейку жирный +
([0-9][0-9]*.) — ищет любые двухзначные в данном случае цифры
судя по звездочке, которая означает от 0 и более это ищет и 1 цифру тоже.
[0-9][0-9] или так \d{2} будет искать 2 цифры подряд
Да, все верно ты написал.
огонь!!!