Регулярные выражения в notepad++

Программы, Статьи 77

С 2009 года веб-дизайн - моя основная сфера деятельности. Создаю проекты разного уровня сложности, оказываю поддержку, разрабатываю индивидуальные решения, помогаю новичкам.

77 Комментариев
  1. Подскажите регулярку для notepad++, надо удалить все html-теги внутри тега но оставить их содержимое Пример: 123 456
    Выход: 123 456
      1. Извините, не разобрался как правильно оформить пример. Есть тег desc, внутри него кучв тегов и текст. Нужно удалить все теги внутри тега desc , но оставить текст. Пример: бла бла ой ой Выход: бла бла ой ой
        1. Я так понимаю, wordpress обрезает теги в комментарии. Вот тот вариант, который я предложил, не подходит? Он убирает как раз все теги и только теги
          1. Попытка номер три )) Есть XML документ. Среди прочих тегов, есть HTML-код, заключённый в тег DESC Пример: .... тегDESC тегP 123 тегBR ещеТеги 456 тегDESC ... Выход: .... тегDESC 123 456 тегDESC .... Нужно удалить все теги между началом и концом тега DESC, но оставить текст. Надеюсь, сейчас сумел объяснить.
  2. Здравствуйте Подскажите регулярку. Мне нужно удалить абсолютно все, что есть внутри тегов Здесь теги, пробелы, переносы строк, буквы, цифры и фразы Что-то все перепробовал, ничего не помогает.
    1. Здравствуйте! Пример бы видеть, без примера не очень понятно..
  3. Помогите пожалуйста написать регулярку: ..."dVFO/dVFOFoBhGYg/Cover.jpg" target=_blank".. строка продолжается (и в ней несколько таких "элементов") - притом формат картинки и её название могут быть другими. Нужно заменить только все "последние" (самые ближние к таргету - самые "правые") слэши на "/s1600/" Помогите пожалуйста...
  4. Привет. Как соеденить три текста чтобы строчки чередовались. сначала три первые строчки потом три вторые потом три третьи и.т.д
  5. Уважаемый подскажите. Как в сохранённой html странице найти все ссылки Начинающиеся с: https:// с текстом в конце: dlattach;attach= тут всегда разные цифры.
    1. Александр, здравствуйте! Я бы разделил эту задачу на два этапа - сначала просто выбрал бы из html все ссылки с https, а вторым шагом из них выбрал бы уже по тексту в конце.
  6. Добрый день,может кто-то помочь с регуляркой?) есть в тексте строки вида: zpunk.dk;imap.zpunk.dk;993;true как сделать,чтобы в и тоге было: { "Domains": [ "zpunk.dk" ], "Type": "imap", "Hostname": "imap.zpunk.dk", "Port": 993, "SocketType": "SSL", "UserName": "%EMAILADDRESS%" }, за ранее благодарен)
    1. Здравствуйте! Попробуйте это сделать через эксель. Сначала в notepad++ заменить пакетно все ";" на табуляции. После этого перенести весь текст в эксель и там добавляя колонки, вставить весь нужный дополнительный контент.
  7. Очень нужна помощь!! Пожалуйста. Как удалить в файлах все внешние ссылки, оставив акоры (тайтлы)... внимине - ВСЕ внешние ссылки КРОМЕ одной домена (собственно домена самого сайта. Т.к. внутренние ссылки тоже являются абсолютными). Заранее спасибо!!
    1. Здравствуйте! Нужен пример текста, без этого сложно что-то подсказать
  8. Уточнение : ищем Число в Теге cid797\cid - меняем и увеличиваем на единицу в конце числа 797. Получаем cid7971/cid Нашли следующее cid797/cid меняем уже на cid7972/cid Далее нашли следующие значение в тегах cid797/cid меняем уже на cid7973/cid
  9. Уточняю вопрос. Пример: Бла бла бал 797 Далее любой текст и числа без тегов или с другими тегами ghhhb ffghhZxcvg Бла! 12345 бла бла бла 797 ( 797 без тега cid) бла бла Бла бла бла 797 - (Не трогаем) 345, текст ... Бла бла 79797 (Иное похожее число на 797 заключённое в тег cid надо оставить неизменным - не трогаем) Бла бла Бла бла бла 797 ( числа без тегов 797 или похожие 134797123 оставить без изменений не трогаем) Бла бла Бла бла бла. 1797 (не трогаем) Задача: Найти по тексту все строго только заключённое в тегах 797 Заменить по всему тексту на увеличение +1: -должно получится следующее: Бла бла бал dfggXcvgg 1234t6u 797 (нашлось 797 И Поменяли на 7971 Далее любой текст и числа без тегов или с иными тегами где может встретится 797- не трогаем 7979797;/op> - не трогаем далее опять встретили797 И его меняем на 7972 (Т.е. +1 от предыдущего изменённого 7971 Бла! 12345 бла бла бла 797 (не трогаем) бла бла Бла бла бла 797 (Не трогаем)345, текст ... Бла бла 79797(Не трогаем)Бла бла Бла бла бла 797 ( не трогаем) Бла бла Бла бла бла. 1797 (не трогаем) далее опять нашлось 797 Меняем уже на 7973 Т.к. предыдущее уже изменилось и стало равно 7972 Следовательно следующее найденое 797 -Станет уже 7974 т.е. весь текст и числа остаются неизменными, а там где нашлось точное значение заключённое в тегах cid - 797 Начинаем прибавлять единицу от последнего изменения к каждому следующему найденому со значением 797 И так до конца текста. Т.е. по тексту много 797 Надо их потом различать. Должно получится 79717972797279737974 И так далее, весь текст и числа должны остаться неизменными и вся структура пробелы и переносы, отступы не должны меняться. 7971 Бла бла текст 1231324 цифры 7972 Бла бла текст любой заключенный в теги Fgdbdbdb 7973 7974 Далее идёт любой текст или цифры, любые числа или текст заключённый в теги например:797 (Остаётся неизменным) далее 7975 Бла бла 123Dfgvffg 7976 7976 И так далее со всеми найдеными 797 их много, все остальное по тексту остаётся неизменным. Заранее спасибо!!! Задачу нужно решить только в блокноте ++ можно в несколько этапов. moto76@mail.ru
  10. Подскажите как найти по всему тексту все числа 797 заключённое в тегах и заменить их на увеличенное на +1 каждый раз когда нашлось? Пример: Бла бла бал 797 Бла 12345 бла бла бла 797 бла бла Бла бла бла 797 345 Бла бла 79797 Бла бла Бла бла бла 797 Бла бла Бла бла бла. 1797 Задача: Найти по тексту все только 797 Заменить по всему тексту на: 7971 7972 7973 7974 7975 7976 И так далее со всеми найдеными их много Заранее спасибо!!! Задачу нужно решить только в блокноте ++ moto76@mail.ru
    1. То есть в итоге должны остаться только числа? Или текст в перемешку с измененными числами? Первый вариант возможен, нужно сначала очистить все кроме искомого числа, а дальше использовать Редактор Колонок в блокноте. Второй вариант сложнее представить...
  11. Доброе время суток! Буду признателен за Вашу помощь. Только начал работу с Notepad++. Работаю с редактированием docx. Не совсем понимаю, как сделать замену по всему документу Имеем: ...12... ...127... ...120!... Должно быть: ...12@#@... ...12@#@7... ...12@#@7!...
    1. Даниил, здравствуйте! Ваша задача очень простая. В редакторе вызывает окно поиска и замены (CTRL + H), в поле поиска вводите 12, в поле замены 12@#@ Нажимаете "Заменить все". Готово!
  12. Нашел выход из этой ситуации: Найти: (.*)\(.*\)() Заменить на: \1\2 или $1$2 Поставить галочку регулярные выражения - это тег в котором производится поиск и удаление данных в скобках (вместе со скобками)
  13. Здравствуйте. Подскажите пожалуйста как внутри конкретного тега удалить часть текста заключенного в скобки вместе с этими скобками. Тоесть Текст 1 (Текст 2) чтобы получилось Текст 1 Я нашел выражение \(.*\) (через регулярные выражения). Оно делает то что нужно, но я не понимаю как ограничить поиск только по конкретному тегу , что бы замена не происходила в других тегах документа. Спасибо.
    1. Нашел выход из этой ситуации: Найти: (.*)\(.*\)() Заменить на: \1\2 или $1$2 Поставить галочку регулярные выражения - это тег в котором производится поиск и удаление данных в скобках (вместе со скобками)
      1. Не совсем то показывает что нужно, почему-то часть текста пропала (там теги должны быть в скобках, а они пропали при отправке). Вот ответ https://community.notepad-plus-plus.org/topic/19359/how-to-remove-characters-and-text-inside/5
  14. Добрый день, Роман. Подскажите пожалуйста, с помощью какого регулярного выражения в notepad++ можно удалить повторы слов в группе строк, пример до обработки: Окрошка классическая Окрошка классическая на кухне Окрошка домашняя в кастрюле Рецепт окрошка домашняя в казане После: Окрошка классическая на кухне домашняя в кастрюле Рецепт казане
    1. Егор, здравствуйте! Это не совсем задача для регулярных выражений, я бы вам посоветовал обратить внимание на Эксель. Предварительно в notepad++ заменить все пробелы (то есть отступы между словами) на табы. После этого скопировать полученный текст в эксель. В итоге каждое слово поместится в отдельной ячейке. После этого выбрать команду - условное форматирование - повторяющиеся значения. И вы получите список всех дублирующих слов. Дальше точно не помню, предлагаю вам погуглить, как оставить только уникальные значения. Затем полученный список можно снова перенести в notepad++, где обратно заменить табы на пробелы.
  15. здравствуйте , вы можете помочь в нотпаде++ можно сделать следующее, имею такой формат sonka.p@tiscali.cz,drosera13@109.123.210.15,25 как сделать, чтобы получилось 109.123.210.15,25,sonka.p@tiscali.cz,drosera13 т.е чтобы еще и одна @ удалилась
    1. Валентин, здравствуйте! Спасибо за ваш вопрос! Не совсем понятно, что именно вы хотите сделать. Нужно порядок поменять?
  16. Ищем: ](.*) Заменяем на: $1 Результат: Остаются тайтлы из текста с ссылками <a href...
  17. Здравствуйте! Пытаюсь удалить все теги <a href="https:// .... вместе с их содержимым. <a href="https://.* <a href="https://(.*) выделяют весь текст от <a href до конца файла, даже и не думая останавливаться на закрывающем
    1. Здравствуйте! Пытаюсь удалить все теги <a href="https:// .... вместе с их содержимым. <a href="https://.* <a href="https://(.*) выделяют весь текст от <a href до конца файла, даже и не думая останавливаться на закрывающем теге
      1. И почему-то этот сайт в моём вопросе упорно выкидывает закрывающий тег
      2. Юрий, здравствуйте! Выражение (.*) - подразумевает абсолютно любые символы. Поэтому оно так и срабатывает в вашем случае. Вам нужно чем-то ограничить выборку данных, например, кавычками. В статье, на самом деле есть подобные примеры по вашему вопросу.
  18. Подскажите как заменить имеющиеся число на другое. Есть текст в нем имеются строчки такого вида '20,25,19,10,13,14' заключенные в такие спец символы ' ', мне нужно заменить число между этими тегами например 20 на любое другое, но что бы остальные числа остались не измененными, это я к тому, что в текстовом документе встречаются одинаковые числа. Подскажите каким регулярным выражением мне воспользоваться?.
    1. Сергей, здравствуйте! Нужно видеть весь текст, чтобы составить подходящее регулярное выражение. Пока не очень понятно, за какие закономерности можно зацепиться.
      1. Текст выглядит так и его очень много (сам текст это таблица с БД), (14376, '', '', 'year|2016||country|США|', 'какой то текст', '2016-04-12 10:42:23', 'тут какойто текст', '20,35,40,72,19', 'smotret-monster-high-the-great-scarrier-reef-2016-onlayn', 0, 1, 1, 1, 0, 1, '', 'admin999', '2016, США, канада, Уильям Лау, Нина Дж. Баргел', ''),
        1. Сергей, отлично! Детали, на самом деле, все решают. Самое лучшее - выгрузить таблицу из БД не формате баз данных (sql), а сразу в формате таблиц (csv или эксель). Если вы выгружаете данные через phpmyadmin, то там уже есть такая опция в настройках экспорта. Дальше вы берете из этой таблицы только колонку с цифрами, обрабатываете ее - скорее всего вам даже регулярные выражения не понадобятся, просто поиск и замена по нужным числам. Ну или какое-то простое выражение, выборка только первого числа до запятой, например. И возвращаете измененную колонку в таблицу, импортируете обратно в базу данных, в табличном формате. Напишите потом, помог ли данный способ или нет.
          1. Нашел вариант по проще, phpmyadmin, есть (найти и заменить), просто выбираешь нужный столбец, потом что найти и на что заменить, как я выше писал у меня в столбце текст такого типа 20,1,35,40,72,19, данные могут быть не последовательны а как бы хаотично прописаны то есть так 1,35,20,40,72,19, 35,40,1,72,20,19 (смысл понятен, число 20 может идти не в начале а в любой последовательности), так вот если я добавляю например - найти 1 и заменить на 8, то меняются все единицы на 8, то есть, если есть число 19 то при замене получится 89 (а мне этого не надо). Но там есть функция (Использовать регулярное выражение), подскажите как мне сделать, что бы при замене не затрагивало числа после запятой (,) или перед запятой (как то так), а то получается такое: было 1,8,13,14,19 стало 8,8,83,84,89.
          2. Сергей, получается, что у вас там все числа из двух, иногда из одной цифры? Тогда числа из двух цифр нет проблем заменить, проблема именно с заменой числа из одной цифры, потому что она может быть как отдельным числом, так и входить в состав двухциферных чисел. Соответственно, вычислить такие числа можно с помощью следующего выражения. Допустим нужно заменить единицу на восьмерку: \b1\b - используем точное вхождение нужного нам числа или выражения и заменяем на нужное нам число или выражение: 8
      2. Попробовал ваш пример \b1\b, ничего не находит.
        1. Да, это выражение точно работает в notepad++, а вот для phpmyadmin видимо нужно по-другому оформлять.
  19. Здравствуйте, спасибо за статью, но никак не могу понять, может подскажете, как удалить всё, что перед тегом , например такой код: https:// https:// https:// как сделать, чтобы осталось: https:// https:// https://
    1. Иван, здравствуйте! Хорошо бы видеть исходный код, пока не очень понятно, что именно вы хотите обработать с помощью регулярных выражений. Желаемый результат понятен, а вот входные данные - нет
  20. и еще есть текст Воронеж,московский проспект,114 как сделать, чтобы остался только Воронеж (то есть удалить все после запятой вместе с запятой) и чтобы остался только московский проспект,114 (удалить все после 2-ой запятой с конца строки)? Спасибо
  21. как удалить все кроме цифр и запятых? Заранее спасибо
  22. Задача: удалить строки меньше 35 символов (буквы,цифры,знаки) как задать регулярное выражение?
      1. Привет! Роман, спасибо. Только начала учиться регулярным выражениям. Как было до и сейчас незнаю...
        1. Показалось от радости, что этот вопрос (А как давно вы проверяли работу регулярок в этом редакторе) мне адресован. Не обращайте внимание на (Только начала учиться регулярным выражениям. Как было до и сейчас незнаю...)
          1. Это очень интересная тема, уверяю вас!) И рад, что смог чем-то помочь
  23. Привет! А как давно вы проверяли работу регулярок в этом редакторе. Возможно это только у меня, но с недавних пор заметил некорректную работу: К примеру я хочу выделить текст-найти между тэгами, ввожу .*, но редактор выделяет мне всё вместе с тэгами текст, вместо того чтобы просто выделить "текст".
    1. Иван, здравствуйте! Язык регулярных выражений - это некие фундаментальные паттерны, они не зависят от редактора и не меняются вот так резко. Редактор показывает вам точно тот результат, который вы запрашиваете. Поэтому, если вы вводите теги в запрос, то они будут присутствовать и в результатах. Так и должно быть.
  24. Добрый день, как можно оставить только домены, списком, остальной мусор удалить, скажите плиз как пример утилизация-оргтехники.рф перехвачен — 0 0 0 1 1 0 / 0 — — 0 42 7-masters.ru перехвачен — 0 0 0 1 1 0 / 7 — — 0 92 elektronik24.ru перехвачен 40 0 0 0 9,6 20 18 / 1 — — 0 96
    1. Светлана, здравствуйте! Спасибо за ваш вопрос! Если у вас этот текст идет построчно - то есть домены на отдельной строке, я бы посоветовал просто вставить этот текст в эксель, а потом сделать сортировку строк по алфавиту. После этого можно будет удалить легко удалить все лишние строки, которые начинаются со слова "перехвачен". И у вас останутся только домены
  25. Здравствуйте. Не ткнёте, где поподробнее посмотреть о поле "Заменить на"? Что ставить, чтобы удалить найденное? Оставить только найденное? Спасибо.
    1. Денис, здравствуйте! Спасибо за ваш вопрос. Чтобы удалить найденное, оставляете заполненным только поле "Найти", а второе поле оставьте пустым.
  26. Хай, объясни куда это все писать? Мне нужно например удалить все между знаками [m1] и [/m], я ввожу найти .*, как в вот в этом подпункте: з) .* — Любой набор символов. Например, условие .* — найдет все что между тегами чтобы программа выделила все это и потом удалить. Но не срабатывает.
    1. Александр, здравствуйте! Спасибо за ваш комментарий, вам нужно использовать вот такое выражение: [m1].*[/m] заменить на: [m1][/m] то есть удалить все, что между тегами, но оставить сами теги, если я вас правильно понял. Вводить нужно в поле поиска и замены в notepad++. Вызывается горячими клавишами CTRL+H
  27. Добрый день, нужно вывести menu id, внутри которых содержится тэг transfer, как это сделать?
    1. Кирилл, здравствуйте! Можете предоставить пример текста, который нужно обработать. Пока непонятна задача
  28. Здравствуйте! Нашел как искать номера телефнов (?:8|\+7)?.?\(?(\d{3})\)?.?(\d{3})[ -]?(\d{2})[ -]?(\d{2}) Но как теперь удалить остальной ненужный текст и оставить только номера? Спасибо!
    1. Аян, здравствуйте! Спасибо за ваш вопрос. Можете привести пример такого текста, где нужно оставить только номера телефонов? Чтобы я точно понял вашу задачу
  29. Спасибо за регулярку, теперь всё понятно :-) С уважением, администратор сайта IT-Actual.ru
  30. Спасибо Вам. Очень помогли
  31. Добрый день, как удалить ссылки из списка по определенным ключам типа: http://www.сайт.index.php?route=product/product&product_id=417 http://www.сайт.org/rm-004.html http://www.сайт.org/image/data/Mg-007/Mg-007.JPG Мне нужно удалить все ссылки в который присутствует слово: data Или наоборот оставить ссылки со словом: data а все остальные удалить Скажите плиз?
  32. Здравствуйте. Помогите составить маску для поиска: рандомный текст рандомный текст
    1. Александр, здравствуйте! Не совсем понятна задача. Приведите пример текста и что в нем нужно найти
  33. А как регулярными выражениями сделать такое: нужно вставить цифру 8 после каждого третьего символа вначале строке? Только вначале после третьего, а не во всей строке после каждого третьего. Как сделать?
  34. помогите пожалуйста!!! нужно оставить в каждой строке первые 11 символов, а последующие удалить.... как??
    1. их можно удалять как часть строки. В окне поиска и замены переключить флажок "Режим поиска" на "обычный", и ввести в строку поиска сами символы как есть: n
  35. Огромное спасибо очень полезная информация. Вы мне очень помогли.
  36. Благодарю, очень пригодилось. Полезная информация.

Ответить

Ваш адрес почты не будет опубликован

Вы можете использовать данные HTML теги и аттрибуты: <a href=""> <abbr> <acronym> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>