this covered lot of notationso here' quick review of what you learned about basic regular expression syntaxthe matches zero or one of the preceding group the matches zero or more of the preceding group the matches one or more of the preceding group the {nmatches exactly of the preceding group the { ,matches or more of the preceding group the {,mmatches to of the preceding group the { ,mmatches at least and at most of the preceding group { , }or *or +performs non-greedy match of the preceding group ^spam means the string must begin with spam spammeans the string must end with spam the matches any characterexcept newline characters \ \wand \ match digitwordor space characterrespectively \ \wand \ match anything except digitwordor space characterrespectively [abcmatches any character between the brackets (such as abor [^abcmatches any character that isn' between the brackets case-insensitive matching normallyregular expressions match text with the exact casing you specify for examplethe following regexes match completely different stringsregex re compile('robocop'regex re compile('robocop'regex re compile('robocop'regex re compile('robocop'but sometimes you care only about matching the letters without worrying whether they're uppercase or lowercase to make your regex caseinsensitiveyou can pass re ignorecase or re as second argument to re compile(enter the following into the interactive shellrobocop re compile( 'robocop're irobocop search('robocop is part manpart machineall cop 'group('robocoprobocop search('robocop protects the innocent 'group('robocoprobocop search('alwhy does your programming book talk about robocop so much?'group('robocoppattern matching with regular expressions