Регексп (исключение файлов по маске) :cry:

Обсуждение программ nnCron и nnCron LITE

Регексп (исключение файлов по маске) :cry:

Postby StasK » Wed, 29 Dec 2004, 20:47

Здравствуйте,

Можно глупый вопрос :(
Никак не могу разобраться с регекспами, все еще путаюсь :( Как составить регексп, чтобы из папки забирались все файлы, кроме указаного формата (Например, 11ес*.* оставить, а все остальные перенести ??? Или а[какой-то один символ]фвфыв.* ??? )
User avatar
StasK
 
Posts: 18
Joined: Fri, 27 Aug 2004, 21:48

Postby Valery_Kondakoff » Wed, 29 Dec 2004, 22:03

вопрос не очень понятен.

Что тебе мешает составить регексп, скажем: '/^11ec.*/', т. е. _все_ файлы, подпадающие под маску '11ec*' и использовать условие:

RE-MATCH: "%FOUND-FILENAME%" "/^11ec.*/i" 0=
IF
\ ... копируем файлы
THEN

т. е. - копируем, если регексп не совпадает?
CU
VK
User avatar
Valery_Kondakoff
Site Admin
 
Posts: 769
Joined: Thu, 01 Jul 2004, 20:49
Location: Moscow, Russia

Postby Tez » Wed, 29 Dec 2004, 22:22

Code: Select all
   FOR-FILES: "путь к папке\*"
         FOUND-FILENAME S" /^11ес.*\..*/" RE-MATCH NOT
       IF
        \ ...
       THEN
    ;FOR-FILES
Tez
 
Posts: 205
Joined: Mon, 23 Aug 2004, 09:17
Location: Moscow

Postby StasK » Wed, 29 Dec 2004, 23:37

Valery_Kondakoff wrote:вопрос не очень понятен.

Что тебе мешает составить регексп, скажем: '/^11ec.*/', т. е. _все_ файлы, подпадающие под маску '11ec*' и использовать условие:

RE-MATCH: "%FOUND-FILENAME%" "/^11ec.*/i" 0=
IF
\ ... копируем файлы
THEN

т. е. - копируем, если регексп не совпадает?


Спасибо, что-то я постоянно в них путаюсь :(
Правильно, так: abc(любой символ)efg.0* , если написать так:
/^abc.efg\.0*/i ? (когда же я пойму как они строятся, чтобы не задавать таких вопросов :?: )

P.S. а вообще про регекспы где-то еще можно почитать, разобраться ?
User avatar
StasK
 
Posts: 18
Joined: Fri, 27 Aug 2004, 21:48

Postby Tez » Thu, 30 Dec 2004, 02:57

Правильно, так: abc(любой символ)efg.0* , если написать так:
/^abc.efg\.0*/i ?


С одним "любым символом" - все верно.
Но вот со звездочкой в конце. Там нужно .* (любой символ 0 или больше раз - эквивалент * в масках).
Tez
 
Posts: 205
Joined: Mon, 23 Aug 2004, 09:17
Location: Moscow

Postby StasK » Thu, 30 Dec 2004, 10:11

Спасибо всем!!!
User avatar
StasK
 
Posts: 18
Joined: Fri, 27 Aug 2004, 21:48


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: No registered users and 3 guests