Oops...created an infinite loop when exp.find_last_of(+-, endpos) returns npos