上,下,右,左,パンチ,キック の 押し下げ がそれぞれ U,D,R,L,P,K
上,下,右,左,パンチ,キック の 押し上げ がそれぞれ u,d,r,l,p,k

std::tr1::regex g_hadouken( ".*D.*R.*d.*P.*" );
std::tr1::regex g_syouryuken( ".*R.*r.*D.*R.*P.*" );
std::tr1::regex g_tatumakisenpuukyaku( ".*D.*L.*d.*K.*" );

こんな感じで出来たよ。これは右側向いているときだけだけどね。