Я ужасен в регулярном выражении и должен удалить все из большой части текста, за исключением определенного объявления переменной, которое происходит много раз, id хотел удалить все, кроме экземпляров mc_gross = anyint.Удалить все до и после переменной = int
ответ
Найти:[\s\S]*?(mc_gross=\d+|\Z)
Заменить:\1
Расположите курсор в начале текста, а затем Заменить все.
Добавить слово границы \b
вокруг mc_gross=\d+
если считаете, что это необходимо.
Confused by '[\ s \ S]'. '\ S' означает любой пространственно-подобный символ. '\ S' означает любой не-пространственный символ. Комбинация должна означать любой символ, такой же, как '.' (то есть точка). – AdrianHHH
@AdrianHHH. Да, но в отличие от '.' Он также будет соответствовать новым символам. (Хотя в редакторе есть флажок, чтобы в любом случае совпадение совпадало с символами '.'). – MikeM
Обычно нам нужно использовать «негативные образы», чтобы найти все, кроме указанной строки. Но они довольно неэффективны (хотя в этом случае это, вероятно, мало что касается), а lookaround не поддерживается всеми механизмами регулярных выражений (не уверен в отношении блокнота ++ и даже тогда, вероятно, зависит от используемой вами версии).
Если вы заинтересованы в получении информации о таком подходе, обратитесь к How to negate specific word in regex?
Но независимо от того, так как вы являются с помощью Notepad ++, я бы рекомендовал выбирать свою цель, а затем инвертировать выделение.
Это выберет каждый экземпляр, позволяющий использовать дополнительное пространство с обеих сторон знака '='.
mc_gross\s*=\s*\d+
Следующий ответ над на супер-пользователь объясняет, как использовать закладки в блокноте ++ для достижения «обратный выбор»:
https://superuser.com/questions/290247/how-to-delete-all-line-except-lines-containing-a-word-i-need
Заменитель регулярное выражение они используют там, с один выше.
Вы можете заменить регулярное выражение ^.*\b(mc_gross\s*=\s*\d+)\b.*$
на \1
. Это приведет к удалению всего текста, кроме желаемого текста в каждой строке. Обратите внимание, что на строках, где требуемый текст возникает два или более раз, сохраняется только одно событие. В поиске ^.*\b
соответствует от начала строки до границы слова перед желаемым текстом; \b.*$
соответствует всему, от границы слова после желаемого текста до конца строки; круглые скобки Захват желаемый текст для замещающего текста. Если текст, такой как abcmc_gross=13def
, должен быть сопоставлен и сохранен как mc_gross=13
, тогда удалите \b
s из поиска.
Чтобы удалить нежелательные линии сделать поиск по регулярному выражению для ^mc_gross\s*=\s*\d+$
из вкладки Марка, отметьте Закладку линии и нажмите Отметить все. Затем используйте Меню =>Поиск =>Закладка =>Удалить немаркированные строки.
- 1. Regex - удалить все символы до и после
- 2. удалить все до и после подстроки
- 3. Regex: Удалить все до и после второго «-»
- 4. Удалить все символы до и после кавычек
- 5. Удалить все пробелы До и после Таблицы
- 6. Удалить все ДО и ПОСЛЕ определенных символов в строке
- 7. Удалить все до и после того, как номер X номер
- 8. Как удалить все пробелы до и после строки в C#
- 9. Notepad ++ Как удалить все символы до и после слова
- 10. Regex, чтобы удалить все до и после этого разделить
- 11. Удалить слово и все после
- 12. Последние 1 до 2 цифр int с переменной длиной int
- 13. PHP: удалить все до первого '-'
- 14. Изменение переменной от int до строки
- 15. удалить текст до и после тега html
- 16. Как удалить все вкладки до строки (не после) эффективно?
- 17. Удалить все символы до струны и сам
- 18. Объявление переменной int с ... до диапазона
- 19. Создайте массив INT от 0 до переменной
- 20. разбор INT переменной
- 21. python 3 удалить до и после строки
- 22. Удалить переносы строк до и после текста
- 23. Как удалить пространство до и после подтега
- 24. Удалить места только до и после запятых
- 25. Обновить EntityFramework до 6.1.1 и удалить все ссылки до 6.1
- 26. php regex все до и после года
- 27. Удалить все запятые, вызванные массивом до или после разлома
- 28. Удалить все файлы после даты
- 29. Удалить строки, начинающиеся с # и все после #
- 30. Удалить символы и все после String
Чтобы подтвердить, что вы хотите выбрать все _except_ that?Было бы хорошо выбрать их, и они инвертируют выбор (я считаю, что блокнот имеет этот вариант). – Sepster
Да, и некоторые примеры (источник и цель) были бы хороши? –
Я хотел бы удалить весь текст, кроме случаев mc_gross = anyint – looter