View previous topic :: View next topic |
Author |
Message |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sat Mar 26, 2011 01:42 Post subject: |
|
|
Добавлю свою мысль: лучше бы начать с обычных выражений (жмём F1 в диалоге "Групповое переименование"), которые к данному случаю тоже вполне подходят. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sat Mar 26, 2011 01:51 Post subject: |
|
|
gatalsky2010 wrote: | где можно почитать подробнее |
В справке, на форуме и в других интернетах |
|
Back to top |
|
 |
gatalsky2010
Joined: 12 Dec 2010 Posts: 40
|
(Separately) Posted: Sat Mar 26, 2011 15:36 Post subject: |
|
|
Про оверквотинг подумал но решил что места это не так критично. На дальнейшее буду иметь ввиду. Кто скажет как можно эти две комманды повесить на две раные кнопки (как создавать кнопку MULTIRENAME на панели инструментов уже разобрался, но как туда параметры нужные задать :dunno:)?[/quote] |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10428 Location: Россия, Саратов
|
(Separately) Posted: Sat Mar 26, 2011 18:21 Post subject: |
|
|
gatalsky2010
Каждый шаблон, выставив все параметры переименования, сохранить отдельно (через выпадающий список в правой части окна группового переименования). Дальше в качестве команды для каждой кнопки указать MULTIRENAME имя_шаблона. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
svshilo
Joined: 01 Oct 2010 Posts: 12
|
(Separately) Posted: Sun Jul 03, 2011 09:30 Post subject: |
|
|
есть список видео файлов
вот фрагмент
Duck_TalesDVDRip_1990_DUB-s01e016.avikciorlashj.avi
DuckTales-DVDRip_1990_DUB-s01e015.avixcgwf.avi
DuckTales-DVDRip_1990_DUB-s01e018.aviksdjfwjfklj.avi
DuckTales-DVDRip_1990_DUB-s01e019.avi
DVDRip_-s01e017.avixljwpoj.avi
Нужно переименовать все файлы в каталоге так, чтобы остались только номера серий без ведущего нуля.
Я написал так
Найти: e0([0-9]+).{0,}(\.[a-zA-Z]{3,}$)
Заменить на: $1$2
- Правильно ли я написал регулярное выражение?
- Может быть можно его упростить или более изящно написать?
- Можно ли как-то без использования регулярок сохранить в таких случаях тип файла, чтобы он не затирался, потомучто в каталоге файлы с разными типа, и если туп в поле ...РАСШИРЕНИЯ написать AVI, то затрутся реальные типы у некоторых файлов?
|
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10428 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2011 10:06 Post subject: |
|
|
svshilo wrote: | Правильно ли я написал регулярное выражение? |
ИМХО, нет. Но вообще-то автору должно быть виднее — достигается поставленная задача с любым произвольным файлом или нет. Столбец "Новое имя" в ИГП для того и существует.
А я не понял самое главное: что же необходимо получить в результате. Там получаются уж явно не "только номера серий без ведущего нуля". Пару примеров ожидаемого результата для уже приведённых исходных имён попрошу.
svshilo wrote: | Может быть можно его упростить или более изящно написать? |
Во-первых, напрашивается встречный вопрос: вам шашечки или ехать?
Во-вторых, невозможно полностью оценить правильность регулярки и — тем более — говорить про упрощение/изящество, не понимая ожидаемого результата (см. выше).
О третьем вопросе — после прояснения первых двух. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
svshilo
Joined: 01 Oct 2010 Posts: 12
|
(Separately) Posted: Sun Jul 03, 2011 12:43 Post subject: |
|
|
Регулярка в этом конкретном случае работает, пока результат выдаёт правильно, просто я новичок, хотел узнать правильно ли написал.
и т.д., т.е. остаются только номера серий и всё, ну или можно одинаковое начало имени сделать, чтобы не в разнобой были серии. А то открываешь каталог, а там, например, после 16 25 серия, а потом 11.
я так понимаю, что когда поиск/замену используешь, то поле "...расширения" не работает и расширения можно сохранить только используя регулярное выражение типа (\.[a-zA-Z]{3,}$), хотя может я неправильно написал, но в это конкретном случае оно верно подставляет тип файла.
s58.radikal точка ru/i160/1107/61/6878f923b2ca.png
Может вот так надо e0([0-9]{2}).{0,}(\.[a-zA-Z]{3,}$)
регулярка находит фрагмент в имени файла e0 (т.к. он присутствует во всех файлах) потом запоминает две цифры в переменную №1, потом идёт любое количество любых символов и запоминается расширение файла из трёх и более символов в переменную №2, потому как попадаются расширения типа mpeg, divx
после переименования с таким выражением на выходе получаются файлы:
Duck_TalesDVDRip_1990_DUB-s01e016.avikciorlashj.avi => 16.avi
DuckTales-DVDRip_1990_DUB-s01e015.avixcgwf.avi => 15.avi
DVDRip_-s01e017.avixljwpoj.avi.mpeg => 17.mpeg
P.S. можете посоветовать какую-нибудь стояющую книженцию по регуляркам или ресурс в Интернете? |
|
Back to top |
|
 |
Avada

Joined: 01 Aug 2008 Posts: 10428 Location: Россия, Саратов
|
(Separately) Posted: Sun Jul 03, 2011 14:26 Post subject: |
|
|
svshilo
То, что включена опция "Подстановка", видно исключительно на картинке. В постах про это — ни единого слова. Да, если она включена, всё вроде как работает указанным образом, но годится это только для буквенных расширений и двух результирующих цифр.
А если в расширении не сплошные буквы, а хоть одна цифра, что тогда? Ответ предлагаю поискать самостоятельно.
И можно узнать, зачем в конце поисковой строки понадобился символ доллара?
А по регуляркам конкретно для TC (специфику учитывать необходимо!), ИМХО, достаточно раздела в справке. Ссылка на источник там внутри есть. В своей книге по TC мы этот материал излагали, надеемся, несколько попродробнее и попонятнее, можно и туда заглянуть, если попадётся. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
 |
svshilo
Joined: 01 Oct 2010 Posts: 12
|
(Separately) Posted: Sun Jul 03, 2011 17:01 Post subject: |
|
|
Avada
Quote: | А если в расширении не сплошные буквы, а хоть одна цифра, что тогда? |
На ум с цифрами в типе видео файлов приходит только "mp4". У меня нет файлов такого типа в каталогах, требующих переименования файлов. В основном AVI, mpg, mpeg, divx.
Хотя думаю, что для переименования имён файлов с цифрами в расширении будет достаточно в группу символов добавить диапазон цифр от 0-9 и всё.
Например: (\.[a-zA-Z0-9]{3,}$)
Quote: | И можно узнать, зачем в конце поисковой строки понадобился символ доллара? |
$ - это символ конца строки. Как в моей ситуации обойтись без него я не знаю.
у меня попадаются файлы с именами, части которых разделены не пробелом или нижним подчёркиванием или подобными символами, а разделены точкой, т.е.: priklyoucheniya.avianosca.mpg
Если убрать символ конца строки, то регулярка, ясно дело, найдёт первое вхождение искомого выражения и это будет ".avi", а ни как не ".mpg".
Получается что выражение (\.[a-zA-Z0-9]{3,}$) ищет именно последнюю с конца группу символов после точки, включая саму точку, тогда точно будет найдено именно расширение файла, а не часть имени.
Хотя я выражения только начинаю изучать, поэтому могу понимать не правильно. Но на моих списках файлов это выражение работает.
Спасибо за ссылки! |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 17:27 Post subject: |
|
|
svshilo wrote: | На ум с цифрами в типе видео файлов приходит только "mp4". | 032, 263, 264, 3gz, 3gp, 3gp2, 3gpp, 3gpp2, 3mm, 3p2, 44, 4xm, 603, 60d, 800, am2, am4, am5, am6, am7, c2r, d2v, d3v, dc8, demo4, es3, ev2, f4v, g64, h-263, h263, h263+, h264, h3r, h4v, k3g, l32, m15, m1pg, m1s, m1v, m21, m2p, m2s, m2t, m2ts, m2v, m3a, m4e, m4f, m4u, m4v, m65, mj2, mjp2, mk3d, mkv3d, mp0, mp21, mp2v, mp4, mp4v, mpeg1, mpeg2, mpeg4, mpg2, mpg4, mpv2, mt2s, mv4, mv85, mv93, mv95, p64, sdr2, st4, tdt2, ts4, vc1, vp3, vp6, vp7, w32, w3d, wm3, wp3. |
|
Back to top |
|
 |
svshilo
Joined: 01 Oct 2010 Posts: 12
|
(Separately) Posted: Sun Jul 03, 2011 18:20 Post subject: |
|
|
Flasher"
у меня таких форматов нет.
(\.[a-zA-Z0-9]{3,}$) должно сработать на все эти типы. По крайней мере шесть разных типов попробовал - срабатывает на ура.
! | Avada: | Пост отредактирован. ненужное цитирование убрано. | |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jul 03, 2011 18:26 Post subject: |
|
|
Я про ум и цифры, а не то, что есть или нет.
Изучаем правила. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2229 Location: Москва, Россия
|
(Separately) Posted: Mon Jul 04, 2011 10:22 Post subject: |
|
|
svshilo wrote: | (\.[a-zA-Z0-9]{3,}$) должно сработать на все эти типы. |
Расширение может быть менее 3 символов. Наверное, более правильно
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Lev

Joined: 02 Mar 2005 Posts: 392
|
(Separately) Posted: Mon Jul 04, 2011 16:25 Post subject: |
|
|
Моя вариация:
s\d+e0*(\d+).*\.(.*?)$
$1.$2
[v] RegEx [v] Subst |
|
Back to top |
|
 |
svshilo
Joined: 01 Oct 2010 Posts: 12
|
(Separately) Posted: Tue Jul 05, 2011 02:34 Post subject: |
|
|
Спасибо, вот то что нужно, коротко, изящно и функционально.
Сохраню этот кусочек на будущее для расширений. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|