Замена строки с учетом регистра в Eclipse или Notepad ++ - PullRequest
12 голосов
/ 11 января 2012

Я использую Eclipse и Notepad ++ для замены нескольких файлов (xml & java)

Я пытаюсь заменить [Pp] edumber [Mm] ember на [Ff] и [Mm] ember за одну замену и сохранить регистр.

ProductMember -> FundMember
productMember -> fundMember
productmember -> fundmember

Используя группы захвата, легко сохранить кейс M от Member, но я не в курсе замены P.

Спасибо за помощь!

Ответы [ 2 ]

21 голосов
/ 28 января 2012

В eclipse вы можете использовать оператор regex retain-case: \ C. Чтобы решить ваш пример, вы должны искать «Product», заменить на «\ CFund» (обязательно отметьте опцию Regular expression). Это заменит продукт с фондом и продукт с фондом.

Обновление:

Убедитесь, что флажок с учетом регистра не установлен.

0 голосов
/ 12 января 2012

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

...