9.27.2010

What Is a Regular Expression, Regex or Regexp

RegexBuddy Makes Regular Expressions Easy

I know. The regex to match any email address looks quite intimidating. But RegexBuddy makes the regex syntax crystal clear. If JavaScript is enabled in your browser, moving the mouse over the regex below or the descriptions will highlight corresponding parts. RegexBuddy does the same while you create a regular expression or analyze a regex written by somebody else.

With a bit of practice and assistance from RegexBuddy, you will soon become proficient at crafting regular expressions. Oh, and you definitely do not need to be a programmer to take advantage of regular expressions! (Read on below.)

\b[A-Z0-9._%+-]++@[A-Z0-9.-]+\.[A-Z]{2,4}\b

  • Assert position at a word boundary
  • Match a single character out of the list: one of the characters "._%+-", or in the range between A and Z, or in the range between 0 and 9
    • Between one and unlimited times, as many times as possible, without giving back (possessive)
  • Match the character "@" literally
  • Match a single character out of the list: one of the characters ".-", or in the range between A and Z, or in the range between 0 and 9
    • Between one and unlimited times, as many times as possible, giving back as needed (greedy)
  • Match the character "." literally
  • Match a single character in the range between A and Z
    • Between 2 and 4 times, as many times as possible, giving back as needed (greedy)
  • Assert position at a word boundary

Save Time and Effort with Regexes

Basically, a regular expression is a pattern describing a certain amount of text. That makes them ideally suited for searching, text processing and data validation.

Searching with regular expressions enables you to get results with just one search instead of many searches. Searching for the word "separate" and all of its common misspellings is easy with the regex s[ae]p[ae]r[ae]te. If you forgot the phone number of your friend who moved to Anguilla, search your past correspondence for \b1?264[)- ]*\d{3}[- ]*\d{4}\b and get a handy list of all phone numbers in area code 264, regardless of the notation style used.

Update large amounts of data by searching and replacing with regular expressions. The benefit of using regular expressions to update data is that with a single regex pattern, you can dynamically update a variety of data. E.g. search for (copyright +(©|\(c\)|©) +\d{4})( *[-,] *\d{4})* and replace with \1-2007 to update all copyright statements to 2007, regardless of the style of copyright symbol and the current copyright year. "copyright (c) 1996-2002" is replaced with "copyright (c) 1996-2007", while "Copyright © 2003" is replaced with "Copyright © 2003-2007", etc. This takes only a few minutes to set up and a dozen seconds to run with RegexBuddy's built-in GREP tool. Imagine making those changes by hand.

Let RegexBuddy Make Regex Easy for You

"I am really enjoying using your program, and before this, I hated regular expressions. Now, I've gone over to the dark side, and I love them."

— Tim Gallagher
  2 March 2006, Kansas, USA


RegexBuddy’s plain English regex tree makes it easy to understand exactly what a regular expression doesRegexBuddy’s plain English regex tree makes it easy to understand exactly what a regular expression does
RegexBuddy’s plain English regex tree makes it easy to understand exactly what a regular expression does

for What Gets Me Hot Ap Facebook via Dogmeat