RegEx.h
Go to the documentation of this file.00001 #ifndef GAUDIUTILS_REGEX_H
00002 #define GAUDIUTILS_REGEX_H
00003
00004
00005
00006 #include <string>
00007 #include <boost/regex.hpp>
00008
00009
00010
00011
00012 namespace Gaudi
00013 {
00014 namespace Utils
00015 {
00016
00025 namespace RegEx
00026 {
00032 template <typename T> bool matchOr(const std::string & test, const T & regexps)
00033 {
00034
00035 for (typename T::const_iterator i = regexps.begin();
00036 i != regexps.end(); ++i)
00037 {
00038 const boost::regex pattern(*i);
00039 if (boost::regex_match(test, pattern)) return true;
00040 }
00041 return false;
00042 }
00043
00049 template <typename T> bool matchAnd(const std::string & test, const T & regexps)
00050 {
00051
00052 for (typename T::const_iterator i = regexps.begin();
00053 i != regexps.end(); ++i)
00054 {
00055 const boost::regex pattern(*i);
00056 if (!boost::regex_match(test, pattern)) return false;
00057 }
00058 return true;
00059 }
00060 }
00061 }
00062 }
00063 #endif