A Course on Automata Theory
coursera.org
coursera.org
I highly encourage you to learn about this stuff, it's a lot of fun and is actually practical!
http://stackoverflow.com/questions/6363397/how-to-tell-if-on...
As soon as you have backtracking and capture groups it's not a regular expression in the mathematical sense. These features make regexes more useful in many simple cases at the cost of making them harder to reason about in more difficult cases.
You know, I have. In some ways it is like communicating across cultures in that the question does not seem to make all that much sense to them. That I can tell, they don't ever search for patterns. The would look for that feature in their GUI log reading program, I suppose.
Failing that, they would write code, 100% in Java I think, and I suppose that if they had to do what I would reach for a regex to do, they would write code to do it. (Is this what jwz means by "Now they have two problems," that they should do the job in code?)
But, again, I don't think there is a real communication there. I'm not too sure what they mean and they look like they do not recognize the situations I ask about.
He gave a talk about all this which can be found here: https://vimeo.com/1485123
So he basically realized people were hacking regular expressions to get more power. So rather than playing that game, he climbed up a level on the automata ladder to get a more mathematically sound approach to the problem.
As you might expect from a course by Ullman, it's heavy on theory and detail.
People are right to say that this is a core topic in computer science, and I'd recommend it to people who like CS conceptually and are curious about the parts beyond programming. Automata come up everywhere!
For what it's worth, Sipser's _Introduction to the Theory of Computation_ helped me get through some of the gnarlier spots (and in turn, the lectures through some of the harder parts of the book). I picked up a used copy of the 2nd edition cheap off Amazon (it was sub-$20 iirc).
http://www.amazon.com/Introduction-Theory-Computation-Michae...
It is also used for the graduate course.
So, highly recommended.
Has anyone used Sipser's text with this course? I found Sipser's textbook a great introduction to this field and thinking of complementing this course with the book.