[tc] Не получается составить правильный regexp для переименования :(
\.(.+)_(\d+)\.
И заменять на
.$2.$1.
Найти делаю: \.([.])_([\d])\.\.([^_]*)_(\d*)\.
Заменить на делаю: $2.$1
Спасибо
Понял в чем дело - я тормоз
[] с единственным символом содержимого вообще смысла не имеют.
Не совсем. Некоторые символы (в том числе точка) теряют свой особый статус внутри квадратных скобок. В частности записи \. и [.] эквивалентны.
Это тоже работает, но + здесь более уместен, чем * (в смысле возможных ошибок в регэкспах)
Короче, начало положено - пойду дальше ботать регэкспы
Угу, плюс там уместнее, я просто про него забыл, а нет =)
Это ведь означает либо символ ^, либо _.
Какой смысл это несет, если ^ вообще не встречается в тексте?
Или ты хотел использовать его как начало строки? (но тогда получается, что в [] некоторые спецсимволы таки работают?)
[^_] означает любой символ кроме „_“
Я в своём предыдущем сообщении забыл добавить, что некоторые символы приобретают специальный смысл. В общем ботай дальше
Сейчас прочитал всю помощь по рег выражениям в тс, но не нашел там вариантности при замене.
То есть допустим у меня в регэкспе есть выражение вида (вар1|вар2|вар3).
Как сделать, чтобы каждый из варов заменялся на соотв выражение?
Или здесь это делается только за счет использования отдельного регекспа для каждого выражения и последовательного их применения?
Только по очереди.
Оставить комментарий
durka82
Пытаюсь переименовать файлы с помощью группового переименования.Но стандартных возможностей не хватает - пробую использовать регэксп.
Устанавливаю галочку Рег.выраж.
Маску делаю по-умолчанию.
Найти делаю: \.([.])_([\d])\.
Заменить на делаю: $2.$1
Жму Выполнить - результата не получаю
Имена файлов такого типа:
MSDNMag.08_2005.djvu
MSDNMag.december_2005.djvu
Для начала я хочу поменять в них местами год и месяц.
Соотв для этого в регэкспе между двумя точками ищу произвольное множество символов и множество цифр, разделенные подчеркиванием.
И меняю эти множества местами.
Все это написано на основе помощи к Тотал Коммандиру.
Где ошибка и чего я не понимаю?