Steven Mandel

Subscribe to Steven Mandel: eMailAlertsEmail Alerts
Get Steven Mandel: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Article

Regular Expression Recipes for Windows Developers

A problem-solution approach

One of the most powerful tools that a developer can use for validating data is the regular expression. A regular expression makes use of pattern matching to determine if an item fits within the definition of the pattern. Some validation that might take many lines of code to validate can be simply validated by building the correct pattern. However, many developers are put off by the feeling that regular expressions are too hard to master.

Several months ago, I started reading a book called Regular Expression Recipes: A Problem-Solution Approach by Nathan Good. It became quite clear to me as I began the first chapter that while the recipes were quite good, they really applied to solutions in the Unix world as opposed to the .NET universe. Wistfully I thought, wouldn't it be nice if Mr. Good came out with a book that targeted regular expressions for the .NET developer? Well lo and behold, that is exactly what has happened.

This book is divided into six chapters and includes an introduction and a syntax overview. The topics covered are: words and text, URLs and Paths, CSV and tab-delimited files, formatting and validating, HTML and XML, and source code. He also covers the concepts of look ahead and look behind that are included in C# and VB.NET.

Mr. Good's approach as he presents his examples is to provide the recipe in four flavors: C#, VB.NET, JavaScript, and VB script as appropriate. This is handy because some of the advanced features of regular expressions such as look ahead and look behind are not available in the script languages. In addition, Mr. Good is very good about pointing out when it is and isn't appropriate to use a regular expression. He steps through each recipe and explains step by step what the pattern is trying to accomplish. This approach makes it easier for fledgling regular expression developers to start building their own expressions.

Obviously, it is impossible to write a book that will cover all topics and permutations, but the idea is that with enough examples a developer can build his or her own patterns by using the recipes provided. There are a few syntax errors in the examples, but if you look at some of the matching code you can figure out how to fix it.

My one minor beef with the book is that I wish that the syntax overview chapter were more robust. I found the author introducing patterns like \b (word boundary) in other chapters of the book. It would be nice for reference purposes if they were all in one place. In addition, a cheat sheet similar to the one found at www.regexplib.com/CheatSheet.htm would have also been helpful.

More Stories By Steven Mandel

Steven Mandel has worked in the IT industry for over 15 years designing databases using Microsoft Access and SQL Server. He has developed Web and Windows applications using VB.NET and has written numerous articles and reviews about ASP.NET and VB.NET.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
.NET News Desk 12/08/05 11:35:32 PM EST

Regular Expression Recipes for Windows Developers. One of the most powerful tools that a developer can use for validating data is the regular expression. A regular expression makes use of pattern matching to determine if an item fits within the definition of the pattern. Some validation that might take many lines of code to validate can be simply validated by building the correct pattern. However, many developers are put off by the feeling that regular expressions are too hard to master.