I'm contemplating teaching a four- or eight-hour class on regular expression pattern matching to my colleagues at a large consulting firm. The intended audience would be mostly computer forensics professionals and "accidental" programmers who use various tools and languages that support regular expressions, but who don't often use regular expressions because they're either unfamiliar with them or intimidated by them. One objective would be to convince those colleagues who tend to do a lot of elaborate string manipulation using only built-in string functions—a common anti-pattern I've observed—to use regular expression pattern matching instead.

How would you teach a class on regular expressions? What would your approach be? Are there any particularly good resources or teaching aids you would use?