added negative char sets, extended curly braces