Arhn - архитектура программирования

Как объединить два регулярных выражения в одно в Notepad++?

Я много искал в Интернете и здесь, но я не могу найти решение этой проблемы. Я должен сделать две замены во всех путях реестра, сохраненных в текстовом файле, следующим образом:

  1. заменить все звездочки на: [#42]
  2. замените все одиночные обратные косые черты на два.

У меня уже есть два выражения, которые делают это правильно:

1-й случай:

Найти: (\*) - Заменить: \[#42\]

2-й случай:

Найти: ([^\\])(\\)([^\\]) - Заменить: $1$2\\$3

Теперь все, что я хочу, это объединить их вместе в одно выражение, чтобы я мог выполнить это только один раз. Я использую Notepad++ 6.5.1 в Windows 7 (64-разрядная версия).

Пример строки, в которой я хочу, чтобы это работало (я включаю обратную косую черту, но не знаю, появятся ли они прямо в html):

HKLM\SOFTWARE\Classes\*\shellex\ContextMenuHandlers\

Я уже пробовал отделить его трубкой, как в Jscript (WSH), но здесь это не работает. Я также пробовал много других вещей, но ничего не получалось. Любая помощь? Спасибо!

Редактировать: я поставил все обратные косые черты правильно, но HTML-код страницы, похоже, «съедает» некоторые из них!
Edit2: кто-то отредактировал мой текст, добавив акцент, который не удаляет обратную косую черту, поэтому выражения снова ошибся. Но я понял и исправил. ;-) Извините, но это был мой первый пост здесь. :)


  • Я думаю, ты не можешь. Также (*) не является допустимым регулярным выражением PCRE. 25.11.2013
  • Если вы хотите заменить * на **, это можно легко сделать. Но как бы то ни было, у вас нет возможности использовать 2 совершенно разные замены. 25.11.2013

Ответы:


1

Как уже упоминалось всеми, это невозможно.

Но вы можете добиться того, чего хотите в Notepad++, используя макрос.

Перейдите в меню «Макрос» > «Начать запись», примените эти два регулярных выражения поиска и замены, нажмите «Остановить запись», затем «Сохранить текущий записанный макрос», дайте ему имя, назначьте ярлык, и все готово. Теперь вы можете повторно использовать одни и те же замены, когда захотите, с помощью одного ярлыка.

25.11.2013
  • Упс! Мой проклятый компьютер просто завис в тот самый момент, когда я это публиковал, и теперь я не могу его отредактировать... Что ж, спасибо за идею. Это решение. :-) Я отмечаю это как ответ. ‹br/› Но система не позволяет мне проголосовать за него. :( ‹br/› Для СИСТЕМНЫХ АДМИНИСТОВ: Я знаю, что я здесь новичок, но это нелепо, что я не могу проголосовать за ответ на свой вопрос. Я взрослый человек с более чем 20-летним опытом работы в сфере ИТ. Почему со мной обращаются как с ребенком? Вы должны изменить эту политику. Это не имеет смысла. 27.11.2013

  • 2

    Поскольку ваши строки замены совершенно разные и используют данные, полученные не из какого-либо захвата (например, [#42]), вы не можете.

    Имейте в виду, что строки замены являются только масками и не могут содержать никакого условного содержимого.

    25.11.2013
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..