| So What's A $#!%% Regular Expression, Anyway?! |
Regular expressions, also known as "regex" by the geek community, are a powerful tool used in pattern-matching and substitution. They are commonly associated with almost all *NIX-based tools, including editors like vi, scripting languages like Perl and PHP, and shell programs like awk and sed.
A regular expression lets you build patterns using a set of special characters; these patterns can then be compared with text in a file, data entered into an application, or input from a form filled up by users on a Web site. Depending on whether or not there's a match, appropriate action can be taken, and appropriate program code executed.
For example, one of the most common applications of regular expressions is to check whether or not a user's email address, as entered into an online form, is in the correct format; if it is, the form is processed, whereas if it's not, a warning message pops up asking the user to correct the error. Regular expressions thus play an important role in the decision-making routines of Web applications - although, as you'll see, they can also be used to great effect in complex find-and-replace operations.
A regular expression usually looks something like this:
All this does is match the pattern "war" in the text it's applied to.
How about something a little more complex? Try this:
This would match the words "ring", "right" and "river-bed". And although it's a pretty silly example, you have to admit that there's truth to it - after all, wasn't the "ring" found "right" at the bottom of the of the "river-bed"?
The "+" that you see above is the first of what are called "meta-characters" - these are characters that have a special meaning when used within a pattern. Similar to the "+" meta-character, we have "*" and "?" - these are used to match zero or more occurrences of the preceding character, and zero or one occurrence of the preceding character, respectively.
In case all this seems a little too imprecise, you can also specify a range for the number of matches. For example, the regular expression
would match "matting" and "mattress", but not "matrix". The numbers in the curly braces represent the lower and upper values of the range to match; you can leave out the upper limit for an open-ended range match.
Now, regular expressions are a topic in themselves - I don't plan to spend any more time on them (although you certainly can, at http://www.melonfire.com/community/columns/trog/article.php?id=2). Instead, let's look at what this has to do with ASP.NET validation, next.
How to do Everything with PHP & MySQL
How to do Everything with PHP & MySQL, the best-selling book by Melonfire, explains how to take full advantage of PHP's built-in support for MySQL and link the results of database queries to Web pages. You'll get full details on PHP programming and MySQL database development, and then you'll learn to use these two cutting-edge technologies together. Easy-to-follow sample applications include a PHP online shopping cart, a MySQL order tracking system, and a PHP/MySQL news publishing system.
Read more, or grab your copy now!