2017-01-19 2 views
0

Я действительно не знаком с регулярным выражением, и я не могу выразить выражение, чтобы найти, что работает.Найти и заменить неизвестную среднюю строку с помощью регулярного выражения?

Что я имею в файле:

9;01A6DB91;BC994;TRUE 

10;01A6A91A;BC994;FALSE 

112;01A6E1DA;BC994;TRUE 

2000;0196AC26;BC994 
  • Число является целым числом, прежде чем первый;
  • Затем 8 символов A-z и номера случайным образом (адрес MAC);
  • Иногда линия заканчивается в формате «BC994» иногда в TRUE, то иногда в FALSE

Как написать выражение для изменения Неизвестных 8 символов на этапе 112; лайн, с известными 8 символами?

Например:

Поиск: 112;??????????

Заменить: 112;12345678;BC994;

И оставить значение TRUE или FALSE, если он есть, если нет, то не добавляйте его.

ответ

2

Я хотел бы сделать:

  • Ctrl + H
  • Найти: (112;)[a-zA-Z0-9]{8}\b
  • Заменить: $1NEWCHARS
  • Заменить все

Объяснение:

(112;)   : Capture group 1 that contains literally 112; 
[a-zA-Z0-9]{8} : 8 characters alpha num 
\b    : word boundary, make sure we have not other letter/digit after 

Заменить group1 с последующим whatever you want

+0

Спасибо за код, но он работает частично, макинтош Адреса, телефоны не всегда могут иметь шестнадцатеричные письма, макинтош адрес моих устройств может иметь номера только, например, 01912345, и если я заменю на $ 101912345 с 112; 01A7C159; BC991, он оставляет меня только с этим: BC991 im потеряет целую строку. Если я использую 01A12345, он работает, показывая мне A12345; BC991 , что не хорошо, но его закрыть – Orion310591

+0

Если вы попытаетесь заменить его на '($ 1) NEWCHARS', он должен Работа. – TaoStyle

+0

@TaoStyle Да, он работает, но я нашел еще одну «ошибку» У меня в файле 3; MAC_ADRESS и 13; MAC_ADRESS AND 113; MAC_ADRESS, если моя цель - изменить адрес mac только на 3; мы можем изменить код **, а не **, чтобы другие числа частично выполняли условие, если я случайно нажму «заменить все», и я не вижу его, я сделаю беспорядок, я потеряю адреса нескольких устройств. Regex должно иметь что-то вроде^для «начала строки с»? Могу ли я использовать это как-то для фиксации на одной и единственной строке? – Orion310591

Смежные вопросы