Compile Time Regular Expression in C++
ctll::fixed_string
from pointer and std::array
(ctll::fixed_string<N>(ctll::construct_from_pointer, ptr)
)operator==
and operator!=
utf8_iterator
and utf8_sentinel
conditional [[msvc::flatten]]
and explicit operator bool
on capture groups, which fixes #275
(?i)AB(?c)AB
matches string: "abAB"
)Support for:
(<=abc)
and negative (<!abc)
ctre::OPERATION<"regex", ctre::case_insensitive>(subject_or_range)
(example: ctre::match<"[a-z]+", ctre::case_insensitive>(input)
Notes: don't use mixes case range when doing case_insensitive:
[a-z]
will match a-zA-Z
[a-Z]
won't match anything (as ascii(a) > ascii(Z))[A-z]
will match more than you expect A-Z[\]^_a-z
+ backtick (as I don't know how to type in markdown correctly)-DCTRE_CXX_STANDARD=17
)This release supports clang 12 properly.