class EE::System::LuaPattern

#include <luapattern.hpp>

class LuaPattern {
public:
    // structs

    struct Range;

    // classes

    class Match;
    class State;

    // construction

    LuaPattern(const std::string_view& pattern);

    // methods

    static std::string_view getURLPattern();
    static std::string_view getURIPattern();
    static std::string matchesAny(const std::vector<std::string>& stringvec, const std::string_view& pattern);
    static std::string match(const std::string& string, const std::string_view& pattern);
    static Range find(const std::string& string, const std::string_view& pattern);
    static bool matches(const std::string& string, const std::string_view& pattern);
    bool matches(const char* stringSearch, int stringStartOffset, LuaPattern::Range* matchList, size_t stringLength) const;
    bool matches(const std::string& str, LuaPattern::Range* matchList = nullptr, int stringStartOffset = 0) const;
    bool find(const char* stringSearch, int& startMatch, int& endMatch, int stringStartOffset = 0, int stringLength = 0, int returnMatchIndex = 0) const;
    bool find(const std::string& s, int& startMatch, int& endMatch, int offset = 0, int returnedMatchIndex = 0) const;
    const size_t& getNumMatches() const;
    bool range(int indexGet, int& startMatch, int& endMatch, LuaPattern::Range* returnedMatched) const;
    const std::string_view& getPatern() const;
    LuaPattern::Match gmatch(const char* s);
    LuaPattern::Match gmatch(const char* s);
    LuaPattern::Match gmatch(const std::string& string);
    LuaPattern::Match gmatch(const std::string& string);
    std::string gsub(const char* text, const char* replace);
    std::string gsub(const std::string& text, const std::string& replace);
};