News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Nikita Popov's Blog:
The true power of regular expressions
June 15, 2012 @ 08:42:57

Nikita Popov has a new (language agnostic) post to his blog today about one of the most powerful things you can use in your development - something that a lot of developers don't understand the true power of - regular expressions.

As someone who frequents the PHP tag on StackOverflow I pretty often see questions about how to parse some particular aspect of HTML using regular expressions. A common reply to such a question is: "You cannot parse HTML with regular expressions, because HTML isn't regular. Use an XML parser instead." This statement - in the context of the question - is somewhere between very misleading and outright wrong. What I'll try to demonstrate in this article is how powerful modern regular expressions really are.

He starts with the basics, defining the "regular" part of "regular expression" (hint: it has to do with predictability) and the grammar of the expressions. He talks about the Chomsky hierarchy and how it relates to the "regular" as well as a more complex mapping of expression to language rules. He talks about matching context-free and context-sensitive languages and unrestricted grammars as well.

0 comments voice your opinion now!
power regular expression define theory context


blog comments powered by Disqus

Similar Posts

Chris Shiflett\'s Blog: JApacheCon (Power PHP Testing talk)

Gareth Heyes' Blog: PHP CSSReg

Adam Trachtenberg's Blog: Stupid PHP one liners: Google calc

Chris Shiflett\'s Blog: PHP Insecurity

SocialGeek.be: Clean urls through readable slugs in PHP


Community Events





Don't see your event here?
Let us know!


threedevsandamaybe language podcast library list laravel bugfix series community unittest api application code release interview developer install introduction wordpress configure

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework