The named capture groups (?P<name>...)
and (?'name'...)
are unimplemented. If these are implemented in CTRE's grammar then it will be closer to PCRE.
#include <ctre.hpp>
int main(){
ctre::match<"(?<name>a)">;
// These do not work
ctre::match<"(?'name'a)">;
ctre::match<"(?P<name>a)">;
}
Compiler explorer link
(?'test1'test1)|(?<test2>test2)|(?P<test3>test3)
Regex101 link