Случайная замена строки в Eclipse или Notepad ++
Я использую Eclipse и Notepad ++ для выполнения замены нескольких файлов (xml и java)
Я пытаюсь заменить ember [Pp] roduct [Mm] ember на [Ff] und [Mm] ember за одну замену и сохранить случай.
ProductMember -> FundMember
productMember -> fundMember
productmember -> fundmember
Используя группы захвата, легко сохранить случай с M от члена, но я не знаю, для замены P.
Спасибо за помощь!
Ответы
Ответ 1
В eclipse вы можете использовать оператор regex retain-case:\C. Чтобы решить ваш пример, вы должны искать "Product", заменить на "\ CFund" (обязательно отметьте опцию Regular expression). Это заменит продукт с фондом и продукт с фондом.
Обновить:
Убедитесь, что флажок с учетом регистра не установлен.
Ответ 2
np ++ regex очень низок, вы можете использовать perl one-liner для выполнения задания:
perl -pi.back -e's{(productmember)}{ uc fundmember | (uc $1 ^ $1) . (uc(substr $1, -1) ^ substr $1, -1) x (length($new) - length $1) }egi;' theFile
Извлечен из perl faq6