Fix parsing of "!()" characters

The bug was "(WP1 OR CL5)", which wouldn't match the keylen==3
restriction on CL5. It's better to strip off syntax characters before
trying to figure out what the main token is.