#include <iostream>
#include <regex>
using namespace std;
int main() {
regex re("(^|[^_[:alnum:]])(the|a)($|[^_[:alnum:]])", regex_constants::icase);
if(regex_search("the test", re))
cout << "#1 matches!\n";
if(regex_search("A TEST", re))
cout << "#2 matches!\n";
if(regex_search("wat?", re))
cout << "#3 matches!\n";
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXJlZ2V4IHJlKCIoXnxbXl9bOmFsbnVtOl1dKSh0aGV8YSkoJHxbXl9bOmFsbnVtOl1dKSIsIHJlZ2V4X2NvbnN0YW50czo6aWNhc2UpOwoJCglpZihyZWdleF9zZWFyY2goInRoZSB0ZXN0IiwgcmUpKQoJCWNvdXQgPDwgIiMxIG1hdGNoZXMhXG4iOwoKCWlmKHJlZ2V4X3NlYXJjaCgiQSBURVNUIiwgcmUpKQoJCWNvdXQgPDwgIiMyIG1hdGNoZXMhXG4iOwoKCWlmKHJlZ2V4X3NlYXJjaCgid2F0PyIsIHJlKSkKCQljb3V0IDw8ICIjMyBtYXRjaGVzIVxuIjsKfQ==