Good morning, I'm trying to parse a relatively simple pattern across 4 std::strings, extracting whatever the part which matches the pattern into a separate std::string. In an abstracted sense, here is what I want: s1=<string1><consecutive number>, s2=<consecutive number><string2>, s3=<string1><consecutive number>, s4=<consecutive number><string2> Less abstracted: s1="apple 1", s2="2 cheese", s3="apple 3", s4="4 cheese" Actual contents: s1="lxckvjlxcjvlkjlkje xvcjxzlvcj wqrej lxvcjz ljvl;x czvouzxvcu j;ljfds apple 1 xcvljxclvjx oueroi xcvzlkjv; zjx", s2="xzljlkxvc jlkjxzvl jxcvljzx lvjlkj wre 2 cheese", s3="apple 3", s4="kxclvj xcvjlxk jcvljxlck jxcvl 4 cheese" How would I perform this pattern matching? Thanks for all suggestions, Alec Taylor