diff --git a/Script/Conf.cfg b/Script/Conf.cfg
index 536dc7ddad2b5ddf64b9788ee48323a19a72a17b..d8e433879fc7840dc47c08cbc7b18b3f2008b539 100644
--- a/Script/Conf.cfg
+++ b/Script/Conf.cfg
@@ -105,9 +105,12 @@ DirList: ['/data1',
 
 
 # Unix pathname pattern for file selection
-# FilePattern: ['*.data', '*.out']
 DataFilePattern: ['*.data',]
 
+# A regular expression to exclude some file from being processed.
+# The filename is checked against this regex after being selected by DataFilePattern
+ExcludeFileRegex: None
+
 # Number of files to be deleted before to update the list of files to be copied
 nDel: 2
 
diff --git a/Script/Conf.py b/Script/Conf.py
index 8d0af732e311247d562233b767fe0ed0b014be13..46fe979c7eca7fc9cf253547884b187953222aec 100644
--- a/Script/Conf.py
+++ b/Script/Conf.py
@@ -196,6 +196,11 @@ class Conf:
         # self.FilePattern = '*[.data,.out]'
         self.DataFilePattern = cfg.DataFilePattern
 
+        try:
+            self.ExcludeFileRegex = cfg.DataFilePattern
+        except AttributeError:
+            self.ExcludeFileRegex = None
+
         # Number of files to be deleted before to update the list of files
         # to be copied
         self.nDel = cfg.nDel
diff --git a/Script/ManagerThread.py b/Script/ManagerThread.py
index f7bc1fe762c487f2c19c933c538dd57cf0c42a21..10fedcdb4cc2549972db2dcc2a967009d76ce36b 100644
--- a/Script/ManagerThread.py
+++ b/Script/ManagerThread.py
@@ -201,6 +201,10 @@ class ManagerThread(threading.Thread):
                 if not filename in self.CopyFileList:
                     self.logger.debug('New file: %s', filename)
 
+                    if self.conf.ExcludeFileRegex and re.match(self.conf.ExcludeFileRegex, filename):
+                        self.logger.debug('ignoring file matching exclude regex: %s', filename)
+                        continue
+
                     # Check for minimal file size, if needed
                     if self.MinSizekB:
                         try: