c regex
c++ template