in reply to Matching [^?-~]

This is a character class. The "-" specifies a range of characters. Specifically, it specifies the range from "?" to "~" or from ASCII 0x3f to ASCII 0x7e. The "^" specifies the complement of that range. I.e. any characters that are not in the range. As '&' is ASCII 0x26 and not in the range, it matches.

Update:Yeah, what he said!
*sigh* I guess I was a little slow. :-)

-sauoq
"My two cents aren't worth a dime.";