Smashing Magazine - we smash you with the information that will make your life easier. really.
Essential Guide To Regular Expressions: Tools and Tutorials
Regular expressions are an essential part of any programmer’s toolkit. They can be very handy when you need to identify, replace or modify text, words, patterns or characters. In a nutshell: regular expressions (regex) are like a Swiss army knife for modifying strings of just about anything. Need to make your site URLs look pretty? Use regex. Need to remove all punctuation from a sentence? Definitely use regex. The uses for regular expressions are almost limitless.
Regular expressions are something that you’ll come across at least once in your development cycle, whether you’re just trying to modify an .htaccess file to make clean URLs, or something much more advanced like filtering RSS feeds or other data. Here are some resources to get you well on your way to mastering regex.
Getting Started
Just dipping your feet into regex? Here are a few must-read resources to get you started with the basics.
The Absolute Bare-Minimum Every Programmer Should Know About Regular Expressions
A simple and direct article that outline some of the main “characters” in regular expressions.
Demystifying Regular Expressions
In this article a simple usage of regular expressions is described. Its intention is to bring users to try the most powerful search and replace paradigm available and hopefully start using it.
Regular Expression Quickstart
A primer for grasping some of the basics of regex, pieced together in an easy-to-read format.
Using Regular Expressions with PHP
A brief overview of how to use regex syntax with PHP.
Learning to Use Regular Expressions
Each section of this article has a bit of code on the left for reference while you’re reading what the code actually does on the right side of the page.
Regular Expressions – User guide
A very detailed and comprehensive introduction to regular expressions, with numerous examples and references.
PHP Freaks: Regular Expressions
Another detailed introduction to the basics of regular expressions; the article also describes regex concepts such as metacharacters, greediness, lazy match, pattern modifiers and others.
MSDN’s Introduction to Regular Expressions (Scripting)
These sections introduce the concept of regular expressions and explain how to create and use them.
Regular Expressions Cheat Sheet
A one-page reference sheet. It is a guide to patterns in regular expressions, and is not specific to any single language. Available in PDF and PNG.
Visibone Regular Expressions Cheat Sheet
A quick reference cheat sheet (only .png) for regular expressions for JavaScript.
Perl Regular Expression Quick Reference (pdf) and Perl Regular Expression Quick Reference Card (pdf)
Comparison of Regular Expression Engines
Wikipedia has a helpful comparison of regular expression libraries for quite a few languages. The page also has a table of languages that come with regular expression support, and the differences between them.
Regular Expressions in Ruby and Rails
Regular expressions in Rails are bracketed by forward-slash, so a regular expression looks like this: /[0-9]*/. You can put all your usual modifiers after the second slash (such as i for case-insensitivity). Gone are other programming languages’ ways of dealing with regular expressions as a string!
Comprehensive Guides
These guides are a little more complex than the previously mentioned starter guides. Perfect for advanced programmers and those wanting to really dig into regular expression functionality.
Crucial Concepts Behind Advanced Regular Expressions
an introduction to advanced regular expressions, with eight commonly used concepts and examples. Each example outlines a simple way to match patterns in complex strings. If you do not yet have experience with basic regular expressions, have a look at this article to get started. The syntax used here matches PHP’s Perl-compatible regular expressions.
Regex Tutorial
This tutorial is a step-by-step teaching tool to learn every aspect of regular expression usage. It’s best to go through the tutorial top to bottom, as each section builds upon the last.
Regular Expression – User Guide
This user guide comes with a soft beginning and goes on to quickly cover most everything about regex. The guide is clean and concise, and packed with code examples.
perlretut
An incredible tutorial for those wanting to learn regex with Perl syntax. The tutorial is quite detailed, and is quite massive in size. Yet it’s an authoritative resource for anyone wanting to learn regular expressions from top to bottom.
Regular Expressions Resources
This growing collection of resources related to regular expressions includes references to various tools and books.
Regex Tools
A selection of .NET tools for working with regular expressions.
Extreme regex foo: what you need to know to become a regular expression pro
In this article you’ll learn about greedy vs. lazy quantifiers, non-capturing parenthesis, pattern modifiers, character and class shorthands as well as positive and negative lookahead.
Practical Regular Expressions
Telephone numbers (via Matt83)
Number in the following form: (###) ###-####
$string = "(232) 555-5555";
if (preg_match('/^\(?[0-9]{3}\)?|[0-9]{3}[-. ]? [0-9]{3}[-. ]?[0-9]{4}$/', $string)) {
echo "This is a valid phone number.";
} Postal codes (via Matt83)
$string = "55324-4324";
if (preg_match('/^[0-9]{5,5}([- ]?[0-9]{4,4})?$/', $string)) {
echo "This is a valid postal code.";
} Matching a user name (via immike.net)
function validate_username( $username ) {
if(preg_match('/^[a-zA-Z0-9_]{3,16}$/', $_GET['username'])) {
return true;
}
return false;
}Matching an XHTML/XML tag (via immike.net)
function get_tag( $tag, $xml ) {
$tag = preg_quote($tag);
preg_match_all('{<'.$tag.'[^>]*>(.*?)'.$tag.'>.'}',
$xml,
$matches,
PREG_PATTERN_ORDER);
return $matches[1];
}URL validation (via Matt83)
$szString = "http://www.talkPHP.com";
if (preg_match('/^(http|https|ftp):\/\/([\w]*)\.([\w]*)\.(com|net|org|biz|info|mobi|us|cc|bz|tv|ws|name|co|me)(\.[a-z]{1,3})?\z/i', $szString))
echo "This is a valid URL";
Emails (via Matt83)
$string = "first.last@domain.co.uk";
if (preg_match(
'/^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\.[a-zA-Z]{2,4}$/',
$string)) {
echo "This is a valid e-mail."; Valid credit card number (JavaScript, via ntt.cc)
function luhn (cc) {
var sum = 0;
var i;
for (i = cc.length - 2; i >= 0; i -= 2) {
sum += Array (0, 2, 4, 6, 8, 1, 3, 5, 7, 9) [parseInt (cc.charAt (i), 10)];
}
for (i = cc.length - 1; i >= 0; i -= 2) {
sum += parseInt (cc.charAt (i), 10);
}
return (sum % 10) == 0;
}Regular Expressions That Are Often Needed in Practice
Dozens of useful regex-patterns that are often used in programming of web-applications.
10+ Useful JavaScript Regular Expression Functions
General JavaScript-based regular expressions for common tasks such as checking if a string is non-blank, if it is a decimal number, if it is currency etc.
RegExLib.com
The Internet’s first regular expression library. Complete with 2,511 expressions from over 1,500 contributors. You can search and find nearly any pattern matching snippet that you might need for a web project.
Regex Tools
regex online tester
Regex allows you to test your regular expressions in different types of data in a variety of ways. For instance, you can directly check how your regular expressions are applied to a given web-page (URL) or text. History stores all the regular expressions you’ve created with the tool, so you can use a roll back once you’ve modified the expression in an incorrect way. Regex patterns, filters and modifiers help you to build the regular expression and test it immediately in the same window. Basic knowledge about regular expressions is required to use the tool.
The Regulator
The Regulator is an advanced, free regular expressions testing and learning tool that allows you to build and verify a regular expression against any text input, file or web, and displays matching, splitting or replacement results within an easy to understand, hierarchical tree. You can let the tool generate the code in VB.NET and C#.
Regular Expression Tester Firefox Plugin
This Firefox plugin offers developers functions for testing their regular expressions. The tool includes options like case sensitive, global and multi line search, color highlighting of found expressions and of special characters, a replacement function incl. backreferences, auto-closing of brackets, testing while writing and saving and managing of expressions.
html2regexp – Regular Expression Generator for HTML Element
html2regexp is a ruby program of generating regular expressions for extracting HTML elements.
reWork
ReWork is a regular expression workbench. Type a regular expression into the “pattern” field, and a string to match it against into “input”. The results area updates as you type. You can search, replace, split, scan, parse and generate the graph (FSA, Finite-State Automation) that corresponds to the regular expression.
RegExr
RegExr is an online regular expression testing and builder. You can play with regex in a helpful environment and make sure your syntax is correct before pushing it live.
The Regex Coach
A cross-platform downloadable tool that teaches you about regular expressions in an interactive environment, all from your desktop.
Rubular
An online regular expression tester for the Ruby language.
Rex V – Regular Expression eValuator
This tool is a Regular Expression evaluator for the regular expression systems PHP PCRE, PHP Posix and Javascript.
Flex 3 Regualr Expression Explorer
This tool provides with popular regular expressions submitted by the community and also lets you try out a regular expression on a test input.
regexpal
An interactive javascript regular expression tester. You can also host the tester on your own server with the open source version of regexpal.
Txt2re
A regex generator that uses a color-based table for visual cues to help you write regular expressions more efficiently.
reAnimator: Regular Expression FSA Visualizer
A handy tool to help you see what the regex expression will match against a set of text. You can read more about the service at the reAnimator’s launch post.
Javascript Regular Expression Validator
A helpful regex tester for Javascript that also shows the regular expression library alongside the tester. A simple but very powerful tool.
RegEx Buddy
RegexBuddy is a powerful regex tester and builder. You can create regular expressions, study complex regexes written by others, quickly test any regex on sample strings and files, preventing mistakes on actual data. You can also debug without guesswork by stepping through the actual matching process. Besides, the tool generates source code snippets automatically adjusted to the particulars of your programming language. You can also GREP (search-and-replace) through files and folders and integrate RegexBuddy with your favorite searching and editing tools for instant access. Windows only.
Besides, one of the most useful features of RegEx Buddy is it’s plain English regex tree that makes it easy to understand exactly what a regular expression does – step by step.
Expreso
Expresso is a free award winning regular expression development tool. You can build complex regular expressions by selecting components from a palette and test expressions against real or sample input data. The tool can generate Visual Basic, C#, or C++ code and displays all matches in a tree structure, showing captured groups, and all captures within a group. You can also maintain and expand a library of frequently used regular expressions and use a builder and an analyzer to create and test your expressions. Registration is required. Win only.
JavaScript Regex Generator
An attempt at making a user-friendly regex generator. A little buggy in IE. Currently limited to 7 groups and no support for negating character classes.
Regex Screencasts
For those wanting to learn regular expressions visually, here are a few excellent screencasts.
Learning Regular Expressions (Video Tutorial and Cheatsheet)
A screencast with emphasis on how to use regex with E Text Editor.
A Crash-Course In Regular Expressions
An introductory crash-course by Jeffrey Way. A little bit outdated, but still useful tutorial that shows how to use regular expressions to check if an e-mail is valid or not. “To a novice web developer, regular expressions look like the most scary thing on the planet. Who could possibly dismantle such a block of code and decipher its meaning? Luckily, its bark is much worse than its bite. You’ll quickly find that regular expressions are rather straight-forward and easy to understand – once you learn the syntax.”
Regular Expressions for Dummies
An introductory screencast with a quiz at the end to see what you’ve learned.
Regex for Dummies: Day 2
Build off of the first ThemeForest screencast by learning about matching.
Regular expressions (the series)
A 5-part series on the basics of regular expressions.
Regular Expression Tutorials
PHP Regular Expression Examples
Many different code examples for possible uses of regular expressions with PHP. A few that might be helpful: processing credit cards, dates, email addresses, and many more.
PHP regular expression tutorial
This article explains how to use regular expressions in PHP and provides simple and advanced examples of common regex-patterns.
Demystifying Regular Expressions
Regular expressions on the surface appear pretty complex. Not only does the language look rather odd, but it also requires logic beyond just following protocols. This article helps to take away some of the stigma some might have with regex in an easy-to-follow guide with examples.
The Joy of Regular Expressions [1]
This Sitepoint tutorial uses simple examples that don’t include incoherent demo strings like “aabbcc” to show how regex really works. The article covers all of the core concepts like exact matching, positive matching, pattern modifiers and more.
The Joy or Regular Expressions [2]
This second regex tutorial by Sitepoint provides plenty of useful examples like how to find images with .jpg extensions, and even finding xss security holes in your code with regex.
Introductory Guide to Regular Expressions
A quick guide to the basics of spotting patterns in regex, complete with a simple example of a javascript regular expression with forms.
Know Your Regular Expressions
IBM has an excellent write-up on how to use regular expressions across UNIX applications.
Regular Expressions: Now You Have Two Problems
Jeff Atwood (co-founder of the excellent Stackoverflow), show some best practices when using regular expressions. Knowing where and when to use regex is sometimes tricky, and Jeff outlines some tips on how to use regular expressions effectively.
Glen Stansberry is the editor at Web Jackalope, a blog about creative Web development.
- 79 Comments
- 1
- 2June 1st, 2009 2:53 pm
Awesome! Thank you!
- 3June 1st, 2009 2:54 pm
useful and time saver. thank you.
- 4June 1st, 2009 3:17 pm
This is great! I’ve been looking for something like this for a long time. One of the best Smashing articles in quite a while. Thanks!
- 5June 1st, 2009 4:11 pm
I can never fully wrap my head around regular expressions. Excellent list of resources to help me figure them out a bit more.
An app I didn’t see listed above was Reggy (here) for OS X. Very handy for figuring out if you’re patterns match.
- 6June 1st, 2009 4:42 pm
it is awesome! Thx very much
- 7
- 8June 1st, 2009 5:10 pm
Do you have anything about RegExp for XAML ??? It could be very very useful to get some of info about it.
- 9June 1st, 2009 6:35 pm
Awesome!!! This will definitely help me to push the folks to learn regexp!
Thanx
- 10June 1st, 2009 7:01 pm
An Excellent resource
When I started reading this article I thought Ive seen stuff like this in many places but halfway through I realized that like most of Smashing’s articles, this one was bookmark worthy :-)
Thanks!! - 11June 1st, 2009 9:10 pm
I hate regexp, but with your article it’s very easy! Thanks a lot!
- 12
- 13June 1st, 2009 10:01 pm
Nice resource. Thanks.
- 14June 1st, 2009 10:32 pm
RegexBuddy is all you really need to get started with regular expressions. It makes them so easy to use. Seriously could not imagine dealing with regexes without it.
- 15June 1st, 2009 10:50 pm
Wonderful post, was seeking for it for a long time. Thanks!
- 16June 2nd, 2009 12:30 am
There’s also ‘Mastering Regular Expressions’ – one of my favourite O’Reilly books. :)
- 17June 2nd, 2009 12:47 am
Excellent post. Regular expression have always been a pain for me so I think I have to work lots with that post ;)
- 18June 2nd, 2009 1:04 am
brilliant timing! smash and grab stuff!
- 19June 2nd, 2009 1:13 am
nice article, i’d need a helpful answer if anyone’s up to it please… what win application (possibly freeware) can i use to do a particular replace action on some html files. i need to replace one part of a line in my html files with a part of another line in the same html file (both part change with each html file and i already made proper regex expressions to target both across all files). the problem i’m having with the app i’m currently using for search/replace operations is that the syntax for the replace field is too restrictive in that i can’t enter a classic regex expression, but just use variables that deal only with parts of what the regex expression in the search field has returned. this obviously means that the replace part cannot be a completely independent part of the document, but only a constant or a modified version of what the search has produced. tia for any pointers.
- 20June 2nd, 2009 2:40 am
Great post as usual.
Thanks - 21June 2nd, 2009 2:47 am
@regquest – if you have access to Dreamweaver at all, then you can plug your HTML files into a project, and then have Dreamweaver do a project-wide search on your regexp.
- 22June 2nd, 2009 3:13 am
Omg, thanks for this list. It really has everything one needs to learn this sh*t.
Thank you!
- 23June 2nd, 2009 4:32 am
Regular expressions are great for validation, but also for find & replace operations. Dreamweaver and TextWrangler (mac) have great regular expression handling. Using these can save a tonne of time in development.
- 24June 2nd, 2009 4:38 am
Awsome!!! Это СУПЕР!!!! Спасибо! Thank u! Gracias!
- 25June 2nd, 2009 5:43 am
Any author will hopefully recommend his own book. So at the risk of being self-serving, I’d like to mention that I wrote my books specifically for developers who want to do specific tasks and learn how each expression works, bit-by-bit. In my books, “Regular Expression Recipes: A Problem-Solution Approach” and “Regular Expression Recipes for Windows Developers…” I provide 100 common tasks (validating e-mail addresses, phone numbers, HTML entities, CSV field parsing, etc.) and I walk through each expression, telling the reader how each character functions in the expression to make it work.
- 26June 2nd, 2009 6:01 am
Very useful list as usual. Thanks!
- 27June 2nd, 2009 7:26 am
The email address regular expression listed above is not correct – it’s missing many of the allowed characters from RFC 5322, which will cause validation problems for many users.
- 28June 2nd, 2009 8:37 am
interesting stuff
- 29June 2nd, 2009 9:26 am
yeah this is a great post
- 30June 2nd, 2009 10:17 am
Great article and great collection. This will definitely going to help me while validating values. Often i forget regex coz I dont use much. But will learn and be prepared.
Thank you so much
- 31June 2nd, 2009 10:23 am
The ‘Practical Regular Expressions’ will be used the most by us.
Great post.
- 32June 2nd, 2009 2:13 pm
Here’s a free yet very extensive tool: http://www.radsoftware.com.au/regexdesigner/
- 33June 2nd, 2009 3:27 pm
Not sure that the Matching a user name is correct.
david37 is usually a valid username whereas 37david is not. Both of these would pass your test.
There are lots of advantages to forcing a start character in a username for example take the following two addresses used in an API.
/user/david37/
/user/109/If we force a letter then instantly we know 109 is a user ID not a username.
- 34
- 35June 3rd, 2009 12:45 am
Hi there
Truly enjoyed this post. I only use regex occasionally and tend to forget the ropes in-between usage.
This page will definitely sit high in my bookmark list
Thanks again
- 36June 3rd, 2009 1:47 am
This article is really helpful, specially to regexp noob like me. I just downloaded the PDF from added bytes. :)
- 37June 3rd, 2009 8:08 am
The email address sample pattern on the PDF cheat sheet is INCORRECT. For instance:
it will correctly identify:
foo{at}bar.bazBut will fail on the following:
foo{at}bar.baz.edu
foo.bar{at}baz.edu
foo.bar{at}baz.qux.ukThe example submitted via “matt83″ under the heading “practical regular expressions” appears to be a proper implementation, but AFAICT will does not test double periods, and other valid-character-yet-invalid sequences
- 38June 3rd, 2009 8:09 am
hehe, sorry about the unintended links in the above (post was held for moderation and not editable by me). HOVER for the intended text.
- 39June 4th, 2009 12:53 am
This guy is a hack. He is not an author, but a compiler of others works, and doesn’t even check theirs before posting. I’m sure he doesn’t understand regex at all, considering the last article of his I read was “20 AJAX effects you should know about” where nothing related to AJAX was “written” about or tested.
This is something that was bookmarked and Dugg before being read all the way through, I’m sure. just go to http://www.regular-expressions.info for any regex info you could ever want.
- 40June 4th, 2009 4:33 am
Better RegEx for Phone number validation : (###) ###-####
/^[(]?[d]{3}[)]?[-. ]?[d]{3}[-. ]?[d]{4}$/@rpsms U can use this RegEx for E-mail validation
/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,5})$/ - 41June 5th, 2009 7:43 am
For the UK visitors… the following validates UK postcodes (including British Forces Post Office ,UK Overseas Territories, and the Girobank postcode which breaks the rules) without the need for lookarounds (which aren’t supported in all engines):
^([A-PR-UWYZ](?:d[dA-HJKSTUW]?|[A-HK-Y]d[dABEHMNPRV-Y]?) d[ABD-HJLNP-UW-Z]{2}|BFPO (c/o (?=d{1,3}$))?[1-9]d{0,3}|AI-2640|(ASCN|BBND|BIQQ|FIQQ|PCRN|SIQQ|STHL|TDCU|TKCA) 1ZZ|GIR 0AA)$
- 42June 5th, 2009 8:02 am
As Krues8dr observed email validation has to be handled well unless you only do the most rudimentary of checks — I haven’t got around to revising for RFC 5322 but have previously written expressions for RFC 822 (STD 0011) and RFC 2822.
The following is for 2822, the only things lacking (other than TLD specific restrictions; provision for the inclusion of a display-name; General-address-literal support) are length restrictions (maximum of 64 characters in total) for the local-part(s) and (maximum of 255 characters in total) for the domain which—are only limits in respect of guaranteed support within SMTP implementations, and—would require the use of lookarounds or a second test (as you cannot both allow multiple word sections in the local-part or domain and simultaneously restrict the overall lengths of these without lookarounds):
^(?:[^()@,;:\\".[\]\x00-\x20\u007F-\uFFFF]+(?:\.[^()@,;:\\".[\]\x00-\x20\u007F-\uFFFF]+)*|\”(?:(?:(?:[\t ]*\r\n)?[\t ]+)?(?:[^\x00\t\n\r "\\\u0080-\uFFFF]|\\[^\n\r\u0080-\uFFFF]))*(?:(?:[\t ]*\r\n)?[\t ]+)?\”)@(?:(?:[a-zA-Z](?:[a-zA-Z\d-]{0,61}[a-zA-Z\d])?\.)+[a-zA-Z]{2,}|\[(?:IPv6:(?:[1-9a-fA-F][\da-fA-F]{1,3}|[\da-fA-F][1-9a-fA-F][\da-fA-F]{0,2}|[\da-fA-F]{0,2}[1-9a-fA-F][\da-fA-F]|[\da-fA-F]{0,3}[1-9a-fA-F]):(?:(?:[\da-fA-F]{1,4}:){6}|(?:[\da-fA-F]{1,4}:){4}:|(?:[\da-fA-F]{1,4}:){3}:(?:[\da-fA-F]{1,4}:)?|(?:[\da-fA-F]{1,4}:){2}:(?:[\da-fA-F]{1,4}:){0,2}|(?:[\da-fA-F]{1,4}:):(?:[\da-fA-F]{1,4}:){0,3}|:(?:[\da-fA-F]{1,4}:){0,4})(?:[1-9a-fA-F][\da-fA-F]{1,3}|[\da-fA-F][1-9a-fA-F][\da-fA-F]{0,2}|[\da-fA-F]{0,2}[1-9a-fA-F][\da-fA-F]|[\da-fA-F]{0,3}[1-9a-fA-F])|(?:(?:(?:0{1,4}:){5}(?:0{1,4}|[fF]{4}):)|(?:IPv6:::(?:[fF]{4}:)?))?(?:25[0-4]|2[0-4]\d|1\d{2}|[1-9]\d?)(?:\.(?:25[0-4]|2[0-4]\d|1\d{2}|[1-9]?\d)){2}\.(?:25[0-4]|2[0-4]\d|1\d{2}|[1-9]\d?))\])$
The problem with all this is that it would accept mickey@disney.com as being a valid address format but I can bet that’s not your address!
It is in fact possible to go beyond this though and to extract teh domain and lookup the MX record to verify that they have a mail server, and depending on their configuration you can even query their mail server to check if the mailbox exists — but unless you have them respond to a confirmation email you still won’t know if it is their address.
- 43June 5th, 2009 8:20 am
Oops… the link should just have been the email for mickey@disney.com — like rpsms I was held for moderation and couldn’t edit it out.
BTW… the domain part of the expression is so large because it allows for IPv4 and IPv6 domain literals, without these the expression would be considerably shorter.
- 44June 5th, 2009 5:21 pm
Nice post! I have been search a good online tester ER.
I found: http://tools.lymas.com.br/regexp_br.phpSo good as you commented.
- 45June 8th, 2009 6:57 am
The way I got my head around the basics and regex is writing a validation class in php and javascript (same class) and using it to validate, phone numbers, credit cards, addresses, etc… i posted a few below
basic credit card validation (checks to see if its one of the big cc’s)
^((4d{3})|(5[1-5]d{2})|(6011))-?d{4}-?d{4}-?d{4}|3[4,7][ds-]{13}$zip code in the format of 12345-1234 or 12345
^([0-9]{5}[-][0-9]{4})|([0-9]{5})$phone, with area codes in or not in ()’s and number seperators as a space . or -
^((d{3})|d{3})(-|.|s)?d{3}(-|.|s)?d{4}$addresses can have 1-8 digits for the street number and any number or words in the street name and periods for st. rd. etc
^[d]{1,8}s[ws.]*$ - 46June 9th, 2009 9:53 am
Of course
^([0-9]{5}[-][0-9]{4})|([0-9]{5})$
could equally be written as ^d{5}(-d{4})?$ which just goes to show there is always more than one way to write an expression.I won’t bother correcting issues with the others as I’m sure some are simply typos as testing would have identified the problems with them as quoted.
Traditionally I tested in my own engine but I have to say I’ve grown quite accustomed to using expresso of late.
- 47June 12th, 2009 8:10 am
In the Practical Regular Expressions section. The last example uses the Luhn algorithm for validation of credit-card numbers. This is not in fact a regular expression but simply just javascript code. It should not be included in this list.
- 00
There are no trackbacks at this time. If you are interested in leaving a trackback, please use this URL.
Leave a Comment
Make sure you enter the * required information where indicated. Please also rate the article as it will help us decide future content and posts. Comments are moderated – and rel="nofollow" is in use. Please no link dropping, no keywords or domains as names; do not spam, and do not advertise!
- Magazine RSS Feed
177,918 readers - Follow us on Twitter
83,605 followers
Interact
Popular
- 100 Wordpress Themes
- Photoshop Tutorials
- Fantastic Wallpapers
- 40+ Excellent Freefonts
- Dual-Screen Wallpapers
- Wordpress Themes for 2009
- Illustrator Tutorials
- Incredible Free Icon Sets
- High-Quality Free Fonts
- 30 Scripts For Galleries
- Photoshop Text Effects
- Useful Icon Sets
- Web Design Trends
- iPhone Wallpapers
- Before Launching a Website
- CSS Layouts And Templates
- Photoshop Actions
- Stunning Pictures and Photos
- Fantastic HDR Pictures
- Logo Design Tutorials
- Free Design Templates
- 10 Mistakes In Logo Design
- Photoshop Custom Shapes
- 40 Creative Design Layouts
- 8 Layout Solutions
- 53 CSS Techniques
- Photography Techniques
- Black & White Photography
- Styling Design Elements
- CSS-Based Forms
- 50 jQuery Techniques
- 50 Portfolio Websites
- 50 CSS Techniques
- Creative Logo Designs
- Desktop Wallpapers
- 25 Open Source Mac Apps
- 50 Free Icon Sets
- Please nominate Smashing Magazine for Best Online Magazine in the 2009 Open Web Awards - http://bit.ly/10ynWA
- Mega Drop Down Menus with CSS & jQuery - http://bit.ly/24novl
- Join us on the Smashing Magazine's Official Facebook Page - http://bit.ly/18ebRT
- #followfriday @inspiredmag @designerdepot @DesignMagTweets @inspirationbit @Colorburned @buysellads @TheCoolHunter @behoff
- New format on @smashingmag: The Beauty of London in Design - http://bit.ly/1Hkju8
- Unbelievable: Ponte City Tower in Johannesburg - http://bit.ly/Iv2k5 - When modern architecture isn't beautiful.
- The Biggest Ecommerce Lies And How To Avoid Them - http://bit.ly/3qkDhE































I use RegexBuddy, and it is awesome! I tend to forget regex, because I am not using it all the time, but with RegexBuddy, I can do what I need to do easily.