2013-08-27 22:50:27 +0000 2013-08-27 22:50:27 +0000
18
18

Использование подстановочного знака для поиска/замены в Блокноте++

Вот моя проблема: в . txt, мне нужно найти и заменить тысячи экземпляров синтаксиса, подобных этому:

(см. (a053007djfgspwdf))

или

(см. (a053007djfgspwdf) и (a54134xsedgeg))

или

(см. (a053007djfgspwdf), (a9554xsdfgsdfg) и (a54134xsedgeg))

Между началом (см. (a и концом )) текстовых строк существует большое разнообразие. Может ли это быть установлено в Блокноте++ с помощью регекса? Если да, то как это сделать? Спасибо!

Ответы (5)

18
18
18
2016-03-02 12:14:25 +0000

Простите, ребята, я просто нахожу другие ответы сложными. (Никакого неуважения к оригинальным плакатам.)

Так как это всегда отображается как первый результат поиска, я добавлю это в:

  1. Откройте диалог поиска/замены (CTRL+F, затем закладка замены)

  2. Поставьте галочку напротив “Регулярное выражение” внизу

  3. Используйте .* в качестве подстановочного знака

Например, я хотел удалить все экземпляры abp=“1314”, abp=“1313”, abp=“1312” и т.д. (в основном, все цифры разные, поэтому вы хотите, чтобы от них избавились с помощью подстановочного знака).

В диалоге замены:

Найти в чем: abp=".*" Заменить на:

(Вы заменяете что-либо в этих кавычках ничем, чтобы избавиться от него)

Источник: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

15
15
15
2013-08-27 23:09:56 +0000

Да, может! Блокнот++ имеет режим поиска RegEx, который Вы можете выбрать для всех Ваших потребностей в замене RegEx.

Пример ниже является базовой заменой для всего, что находится между (see (a...)), за исключением разрыва строки. Возможно, вам понадобится изменить RegEx или написать свой собственный в соответствии с вашими потребностями. Здесь - отличное место, чтобы помочь вам с экспериментами.

RegEx: \(see \(a.+\)\)

Совместимые строки:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))

1
1
1
2016-03-24 15:43:35 +0000

Поскольку некоторые из них были слишком глубокими для меня, чтобы понять, позвольте мне показать вам, что я сделал после прочтения всех этих решений и больше, чтобы, наконец, получить лучшее понимание. (Это простой подход, возможно, не самый лучший)

Я хотел удалить все мои figure элементов на всей веб-странице. Figure 2.1, Рисунок 1.1, ect.

Было:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Я хотел, чтобы все закончилось:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar</p>

Но у каждого

был свой номер рисунка, поэтому я использовал его в возвышенном тексте 2.

  1. ctrl H
  2. нажмите на символ “.*” в правом нижнем углу текста Sublime text 2, (regex)
  3. введите <br><b>Figure.*</b>
  4. заменяйте на: -левая пустая

Это заменило все мои экземпляры на цифры в нем. Заметьте, я использовал .*, где были цифры. Надеюсь, это поможет.

1
1
1
2013-08-28 16:51:42 +0000

Попробуйте этот шаблон: \(see \(a(.*)\) и убедитесь, что у вас “. совпадает с новой линией” не отмечен и “обернуть вокруг” отмечен.

0
0
0
2013-09-03 05:05:59 +0000

Точное regex, которое вам нужно:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Например:

При выборе Find All in Current Document, результат будет:

Вы можете просто использовать Replace в соответствии с вашими потребностями вместо этого.

Если вы хотите включить a, а также в регекс, вы можете использовать:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)

Похожие вопросы

8
1
6
4
7