Добавить символ к каждому номеру через Regex в Notepad ++

1952
user3877230

У меня есть очень простой вопрос, который я просто не могу понять. У меня есть текстовый документ, как это:

This is 5 a test! This 3 is a test! This is a 9 test! 

и я хочу, чтобы это выглядело так:

This is 5c a test! This 3c is a test! This is a 9c test! 

Означает, что я хочу добавить «с» для каждого числа, которое я найду. Я попробовал это:

Find what: [0-9]+] Replace with: $1c Search Mode: Regular expression 

но я явно делаю что-то не так, потому что это не работает. Помощь будет оценена. Спасибо!

10
Просто из любопытства: почему вы попробовали `[0-9] +]` с этими странными непревзойденными скобками? Heinzi 5 лет назад 3
@Heinzi Ставки - это опечатка в вопросе, учитывая близость `+`, `]` и `Enter` на многих клавиатурах. Lightness Races in Orbit 5 лет назад 2

2 ответа на вопрос

26
LPChip

Вы почти поняли это правильно.

Вы хотите найти ([0-9]+)
и заменить это на$1c

Ты используешь ( ) для создания группы захвата, так что $ 1 работает.

Кроме того, вы можете заменить $0cвместо этого, тогда вам не нужно использовать группу захвата.

Работает отлично. Большое спасибо ;) user3877230 5 лет назад 2
Просто любопытно, есть ли разница в этом паттерне и вы ищете `\ d +`? BruceWayne 5 лет назад 0
@BruceWayne В зависимости от типа регулярного выражения yoru, `\ d` может совпадать с цифрами Unicode [из других скриптов] (https://www.fileformat.info/info/unicode/category/Nd/list.htm). Обратите внимание, что это не относится к PCRE, который, очевидно, использует Notepad ++. В любом случае, я бы предпочел `\ d`, если я хочу числовые цифры, но` [0-9] `, если я явно хочу эти символы (например, при очистке определенного формата, который ограничен символами ASCII). Bob 5 лет назад 2
Действительно, \ d сработало бы так же хорошо. Я сохранил синтаксис [0-9], потому что OP уже пробовал это, а другой ответ использует \ d. LPChip 5 лет назад 0
13
Toto
  • Ctrl+H
  • Найти то, что: \d+
  • Заменить: $0c
  • проверить обернуть
  • проверьте регулярное выражение
  • Replace all

Результат для данного примера:

This is 5c a test! This 3c is a test! This is a 9c test! 
Что делать вокруг? Ooker 5 лет назад 0

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