#pragma once
#include <cstdint>
#include "base.hpp"
NAMESPACE_SOUP
{
enum RegexFlags : uint16_t
{
RE_MULTILINE = (1 << 0), // 'm' - '^' and '$' also match start and end of lines, respectively
RE_DOTALL = (1 << 1), // 's' - '.' also matches '\n'
RE_INSENSITIVE = (1 << 2), // 'i' - case insensitive match
RE_EXTENDED = (1 << 3), // 'x' - Ignore bare space characters in pattern. '#' signifies begin of line comment.
RE_UNICODE = (1 << 4), // 'u' - Treat pattern and strings-to-match as UTF-8 instead of binary data
RE_UNGREEDY = (1 << 5), // 'U' - Quantifiers become lazy by default and are instead made greedy by a trailing '?'
RE_DOLLAR_ENDONLY = (1 << 6), // 'D' - '$' only matches end of pattern, not '\n' - ignored if multi_line flag is set
RE_EXPLICIT_CAPTURE = (1 << 7), // 'n' - only capture named groups (non-standard flag from .NET/C#)
};
}