Блокнот ++ подстановочные знаки используют с поиском и заменой

0

У меня есть 12-значный MAC-адрес, 5C838F9FE398который мне нужно заменить на5C83.8F9F.E398

Поскольку мне нужно более 200 MAC-адресов, я решил использовать Notepad ++ для экономии времени. Можно ли сделать это быстро с помощью Notepad ++?

Риз
источник

Ответы:

5

Да, это возможно

Предполагая, что список macaddresses выглядит следующим образом:

5C838F9FE398
5C838F9FE398
5C838F9FE398
5C838F9FE398

(где каждый, конечно, уникален)

Вы можете найти / заменить с помощью регулярных выражений.

Откройте диалог поиска / замены, нажав CTRL+ H.

В поле «Найти что» введите: ^(.{4})(.{4})(.{4})
В поле «Заменить на» введите:$1.$2.$3

В нижней части группы «Режим поиска» выберите «Регулярное выражение».

Теперь ударил Replace All.


Объясняя регулярное выражение:

^          Only match if this happens at the beginning of a line
  (        Start of group 1 (to replace with $1)
    .{4}   Any character, 4 times
  )        End of group 1
  (        Same as above for group 2
    .{4}
  )
  (        Same as above for group 3
    .{4}
  )

Замена настроена как:

 $1    These are the first 4 values found
 .     place a period next
 $2    These are the second 4 values found
 .     place a period next
 $3    These are the third 4 values found.

Все, что находится после этой строки, полностью игнорируется и останется в наличии.

Так 5C838F9FE398 testстановится5C83.8F9F.E398 test

LPChip
источник
1
Может быть лучше указать шестнадцатеричную цифру вместо любого символа, используя ([0-9A-F]{4})вместо каждого вхождения (.{4}). Это будет особенно необходимо, если в файле есть другая информация, кроме MAC-адресов, и даже более того, если адреса не находятся в начале файла: в последнем случае вам нужно что-то вроде \<([0-9A-F]{4})([0-9A-F]{4})([0-9A-F]{4})\>строки поиска.
AFH
Привет AFH, Блестящий большое спасибо. Это решило мою проблему и сэкономило мне больше половины рабочего дня. Благодарный.
Риз
1
@Riz "Полдня"? Вы можете сделать эти изменения вручную за полчаса. Утомительно, но выполнимо :)
DavidPostill
1
Оба работают на АЭС. Я использовал $ подход, потому что я думаю, что он читается лучше в ответе на SuperUser.
LPChip
1
@Riz Правильно сделать сейчас, формально принять ответ, так как проблема была решена, время было сэкономлено, и вы были благодарны.
Камиль Мачоровски