Регулярное выражение заменить на текстовую панель
Мне нужно обновить формат даты в большом файле, который у меня есть в textpad.
формат даты в настоящее время мм-дд-гггг, и мне нужно сделать его мм / дд / гггг
каждая строка с датой начинается с D.
как это: D02-12-2009
Моя часть поиска по регулярному выражению работает нормально ^ D (.?) - (.?) - (. *?)?, Но замена не удалась при попытке использовать $1 $2 $3 для моих значений D$1/$2/$3. Он заменяется литералом $1, $2 и $ 3. Я установил textpad для использования регулярных выражений POSIX.
Любые идеи, как захватить ценности и поместить их в мою часть замены?
2 ответа
Пожалуйста, используйте \1 \2 \3
вместо $1 $2 $3
Найти то, что: D([0-9]+)-([0-9]+)-([0-9]+)
Заменить: D\1/\2/\3
До
D02-12-2009
D03-12-2009
D04-12-2009
После
D02/12/2009
D03/12/2009
D04/12/2009
Относительно группировки
Группирует теговое выражение для использования в выражениях замены. RE может иметь до 9 теговых выражений, пронумерованных в соответствии с их порядком в RE. Соответствующее выражение замены равно \x, для x в диапазоне 1-9. Пример: Если ([az]+) ([az] +) соответствует "неправильный путь", \2 \1 заменит его на "неправильный путь".
PS: я понятия не имею, почему это перенесено сюда, мне пришлось приехать сюда впервые.:-)
"каждая строка с датой начинается с D." Для большей безопасности я бы добавил "^" к выражению поиска: **^**D([0-9]+)-([0-9]+)-([0-9]+)
,
Маловероятно, что строка будет встречаться где-то еще, но...