Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

К ТСКВ: примеры регулярных выражений
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  

Как часто вы пользуетесь регулярными выражениями (RegEx)?
Раз в день
35%
 35%  [ 33 ]
Раз в неделю
18%
 18%  [ 17 ]
Раз в месяц
26%
 26%  [ 25 ]
А что это такое?
19%
 19%  [ 18 ]
Total Votes : 93

Author Message
JKT



Joined: 22 Sep 2009
Posts: 116
Location: Харьков

Post (Separately) Posted: Sat Aug 06, 2011 22:00    Post subject: Reply with quote

Уважаемые, подскажите пожалуйста рэгэксп
Есть имя файла "Имя Фамилия" (без кавычек) , надо переименовать "Фамилия Имя", - переставить слова (разделитель - пробел)
Спасибо
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4660
Location: Ростов-Дон

Post (Separately) Posted: Sat Aug 06, 2011 23:47    Post subject: Reply with quote

Как вариант, заменить ([^ \.]*) *([^ \.]*)(.*) на $2 $1$3 при установленных галке рег выражения и замены имени целиком (рядом). Предполагается, что имя и фамилия не содержат точек.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9033
Location: Россия, Саратов

Post (Separately) Posted: Sun Aug 07, 2011 00:06    Post subject: Reply with quote

JKT
Другой вариант (расширение обязательно есть, точка только перед ним):
Найти: (.*) (.*)\.
Заменить на: $2 $1\.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun Aug 07, 2011 00:11    Post subject: Reply with quote

Или (\S+)\s(\S+)(\..*)$ заменить на $2 $1$3, если пробел только один - между именем и фамилией (доллар в конце добавлен на случай, если все-таки не один, хоть ошибки не будет). А вообще-то, пример на тему "как поменять местами имя и фамилию" - чуть не на каждом сайте по регэкспам...

Добавлено спустя 1 час 2 минуты:

Кстати, есть довольно удобная весч для отладки регэкспов: http://regexpres.narod.ru/calculator.html Сам пользуюсь.
Back to top
View user's profile Send private message
JKT



Joined: 22 Sep 2009
Posts: 116
Location: Харьков

Post (Separately) Posted: Sun Aug 07, 2011 02:23    Post subject: Reply with quote

MVV
Спасибо!
Все работает!
Avada, Serge Yolkin , большой сенк за участие, другие варианты завтра попробую. Как попробую - отпишусь.
А вообще-то, может сделать отдельную ветку, где будут готовые решения по регэкспам, конкретные примеры? Как тут есть "обсуждения" . Тут обсуждения, а вдругой готовые?
Дело вдругом...... Рэгэкспы ТС и других прог могут по синтаксису отличаться. Я вот, например тэги аудиофайлов редакчу в mp3tag там малость синтаксис отличается. От потому и спросил и там и тут. Smile

P.S.
Вот мои пять копеек в копилку:
Имеем текст "ХХХХ - УУУУ" - Задача: оставить только ХХХХ (разделитель " - " (пробел-дефис-пробел) - часто встречается в тэгах аудио "артист - песня". Задача: оставить только "XXXX". Решение;

(.*?)\s+-.*
$1
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9033
Location: Россия, Саратов

Post (Separately) Posted: Sun Aug 07, 2011 08:01    Post subject: Reply with quote

JKT wrote:
А вообще-то, может сделать отдельную ветку, где будут готовые решения по регэкспам, конкретные примеры? Как тут есть "обсуждения" . Тут обсуждения, а вдругой готовые?

В этой теме уже всё вперемешку, такой она, увы, и останется. Сама по себе мысль о разделении здравая, но у нас на разных подфорумах много чего предлагалось разделять, так что будет какая-то очерёдность обсуждения и реализации. Пока предложение принято к сведению.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Olaf



Joined: 23 Mar 2006
Posts: 11

Post (Separately) Posted: Sat Dec 15, 2012 15:51    Post subject: Reply with quote

Здравствуйте, мне требуется помощь в такой проблеме: нужно использовать подстановочные символы в качестве шаблона для выделения/фильтрации файлов.
Есть папка с файлами, из которых мне нужно выделить
1) те, которые начинаются на 4 цифры, после которых идёт пробел или буква и пробел (например "1234 1234.1st" и "1234b 1234 1234.1st")
2) те, которые начинаются с 5 и более цифр.
пока что я застрял на первом же пункте Confused
пытаюсь написать "\b\d{4}? .", но при этом у меня выделяются и те файлы, которые содержат в себе фрагмент, отделённый пробелом, после которой идёт искомая часть (например файл "abcd 1234 1234.1st")
Что я не так делаю? Как это сделать правильно? Заранее благодарен
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Sat Dec 15, 2012 16:15    Post subject: Reply with quote

Буквы только латинские?
1) Найти: ^\d{4}[a-zA-Z]?\s
2) Найти: ^\d{5,}
Back to top
View user's profile Send private message
Olaf



Joined: 23 Mar 2006
Posts: 11

Post (Separately) Posted: Sat Dec 15, 2012 21:03    Post subject: Reply with quote

Rodny, да, так всё работает, спасибо огромное!
upd: а как сделать наоборот - показывать все файлы, кроме этих двух типов?
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 9033
Location: Россия, Саратов

Post (Separately) Posted: Sat Dec 15, 2012 22:05    Post subject: Reply with quote

C учётом реального содержания этой темы она переносится из "Секретов и советов" в "Общие вопросы". Справочник по регэкспам тут, увы, не получился...
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Sun Dec 16, 2012 12:57    Post subject: Reply with quote

Olaf wrote:
а как сделать наоборот - показывать все файлы, кроме этих двух типов?

Что-то типа: ^([^0-9]{4}[^a-zA-Z]?\S|[^0-9]{5,}).+
Back to top
View user's profile Send private message
Olaf



Joined: 23 Mar 2006
Posts: 11

Post (Separately) Posted: Sun Dec 16, 2012 13:48    Post subject: Reply with quote

Rodny, буду пробовать, спасибо ещё раз!
Back to top
View user's profile Send private message
Strek



Joined: 17 Oct 2010
Posts: 138
Location: Светая Русь

Post (Separately) Posted: Sat Mar 23, 2013 06:21    Post subject: Reply with quote

Как искать ссылки http и https?
Back to top
View user's profile Send private message
Rodny



Joined: 24 Jan 2007
Posts: 949
Location: Могилёв, Беларусь

Post (Separately) Posted: Sat Mar 23, 2013 13:38    Post subject: Reply with quote

Где? В принципе, найти: "https?://" и т.д.
Back to top
View user's profile Send private message
Strek



Joined: 17 Oct 2010
Posts: 138
Location: Светая Русь

Post (Separately) Posted: Sat Mar 23, 2013 16:20    Post subject: Reply with quote

Rodny wrote:
Где? В принципе, найти: "https?://" и т.д.

В текстовых файлах
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8, 9  Next
Page 4 of 9

 
Jump to:  
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