#pragma once #include <library/cpp/regex/pcre/regexp.h> #include <util/generic/map.h> #include <util/generic/vector.h> #include <util/generic/maybe.h> #include <utility> namespace NYql { class TPatternGroup { public: TPatternGroup() = default; void Add(const TString& pattern, const TString& alias); bool IsEmpty() const; TMaybe<TString> Match(const TString& s) const; private: TMap<TString, std::pair<TRegExMatch, TString>> CompiledPatterns; }; }