String regExp = "^[^<>{}"/|;:.,~!?@#$%^=&*]\()[¿§«»ω⊙¤°℃℉€¥£¢¡®©0-9_+]*$";
/* shorthand character classes */
regex = /d/; // matches any digit, short for [0-9]
regex = /D/; // matches non-digits, short for [^0-9]
regex = /S/; // matches non-white space character
regex = /s/; // matches any white space character
regex = /w/; // matches character, short for [a-zA-Z_0-9]
regex = /W/; // matches non-word character [^w]
regex = /b/; // Matches a word boundary where a word character is [a-zA-Z0-9_]
#### ? designates an optional group. It can appear once or not at all
RegEx = re.compile(r'(good)?bye')
mo = RegEx.search("bye bye bye")
mo.group()