<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Fri, 29 Aug 2008 01:45:47 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Jonnay's Blog: Introducing BunnyRegex - easy regular expressions, and mini-languages inside of PHP.]]></title>
      <guid>http://www.phpdeveloper.org/news/4924</guid>
      <link>http://www.phpdeveloper.org/news/4924</link>
      <description><![CDATA[On his blog today, <i>Jonnay</i> has posted <a href="http://blog.jonnay.net/archives/632-Introducing-BunnyRegex-easy-regular-expressions,-and-mini-languages-inside-of-PHP..html">information about a new library</a> he's built up called "BunnyRegex", a way to make easy regular expressions and mini-languages inside of PHP.
<p>
<quote>
<i>
Regular expressions are hard. They are hard to create, and even harder to read after the fact. Regular expressions, while quite powerful, are a blight upon readable code. There is no easy way to know that '/^\d{4}\/\d{2}\/\d{2}$/' is a search for a string in the form of 'xxxx/xx/xx'. You have to know that ^ is the start of a line, \d is a digit, \/ is / escaped, etc.
<p>
Granted, once you know regular expressions, that information is portable across which ever language you use, be it PHP, Perl, Javascript, whatever. But getting to that point is not easy, and even after you are there, the fact remains:Regular expressions are not human parseable. This is where BunnyRegex comes in. 
</i>
</quote>
<p>
He <a href="http://blog.jonnay.net/archives/632-Introducing-BunnyRegex-easy-regular-expressions,-and-mini-languages-inside-of-PHP..html">includes examples</a> of the usage of the library (not as concise as a regex, but easier to read) and how you can also use it to create "fluent regular expressions". The library even allows you to do most of the normal things you would with a standard regex engine - match, grep, replace, and splitting data.]]></description>
      <pubDate>Thu, 02 Mar 2006 06:52:20 -0600</pubDate>
    </item>
  </channel>
</rss>
