Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
g

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "([a-zA-Z ]+)," Local $sString = "California" & @CRLF & _ "" & @CRLF & _ "Alameda, CA" & @CRLF & _ "Albany, CA" & @CRLF & _ "Altadena, CA" & @CRLF & _ "Alviso, CA" & @CRLF & _ "Atherton, CA" & @CRLF & _ "Belmont, CA" & @CRLF & _ "Berkeley, CA" & @CRLF & _ "Beverly Hills, CA" & @CRLF & _ "Burbank, CA" & @CRLF & _ "Burlingame, CA" & @CRLF & _ "Campbell, CA" & @CRLF & _ "Culver City, CA" & @CRLF & _ "Cupertino, CA" & @CRLF & _ "El Cerrito, CA" & @CRLF & _ "Emeryville, CA" & @CRLF & _ "Encino, CA" & @CRLF & _ "Glendale, CA" & @CRLF & _ "La Canada Flintridge, CA" & @CRLF & _ "Los Altos, CA" & @CRLF & _ " " & @CRLF & _ "Los Angeles, CA" & @CRLF & _ "Los Gatos, CA" & @CRLF & _ "Marina Del Rey, CA" & @CRLF & _ "Menlo Park, CA" & @CRLF & _ "Millbrae, CA" & @CRLF & _ "Mountain View, CA" & @CRLF & _ "North Hollywood, CA" & @CRLF & _ "Oakland, CA" & @CRLF & _ "Pacific Palisades, CA" & @CRLF & _ "Palo Alto, CA" & @CRLF & _ "Pasadena, CA" & @CRLF & _ "Playa Del Rey, CA" & @CRLF & _ "Portola Valley, CA" & @CRLF & _ "Redwood City, CA" & @CRLF & _ "Reseda, CA" & @CRLF & _ "San Bruno, CA" & @CRLF & _ "San Carlos, CA" & @CRLF & _ "San Francisco, CA" & @CRLF & _ "San Jose, CA" & @CRLF & _ " " & @CRLF & _ "San Leandro, CA" & @CRLF & _ "San Marino, CA" & @CRLF & _ "San Mateo, CA" & @CRLF & _ "Santa Clara, CA" & @CRLF & _ "Santa Monica, CA" & @CRLF & _ "Saratoga, CA" & @CRLF & _ "Sherman Oaks, CA" & @CRLF & _ "South Pasadena, CA" & @CRLF & _ "South San Francisco, CA" & @CRLF & _ "Stanford, CA" & @CRLF & _ "Studio City, CA" & @CRLF & _ "Sunnyvale, CA" & @CRLF & _ "Tarzana, CA" & @CRLF & _ "Valley Village, CA" & @CRLF & _ "Van Nuys, CA" & @CRLF & _ "Venice, CA" & @CRLF & _ "West Hollywood, CA" & @CRLF & _ "Colorado" & @CRLF & _ "" & @CRLF & _ "Boulder, CO" & @CRLF & _ "Denver, CO" & @CRLF & _ " " & @CRLF & _ "Englewood, CO" & @CRLF & _ "Lafayette, CO" & @CRLF & _ " " & @CRLF & _ "Louisville, CO" & @CRLF & _ "Connecticut" & @CRLF & _ "" & @CRLF & _ "Canaan, CT" & @CRLF & _ "East Canaan, CT" & @CRLF & _ "Falls Village, CT" & @CRLF & _ " " & @CRLF & _ "Lakeville, CT" & @CRLF & _ "Norfolk, CT" & @CRLF & _ "Salisbury, CT" & @CRLF & _ " " & @CRLF & _ "Sharon, CT" & @CRLF & _ "Stamford, CT" & @CRLF & _ "West Cornwall, CT" & @CRLF & _ "District of Columbia" & @CRLF & _ "" & @CRLF & _ "Washington, DC" & @CRLF & _ "Florida" & @CRLF & _ "" & @CRLF & _ "Key Biscayne, FL" & @CRLF & _ "Miami Beach, FL" & @CRLF & _ " " & @CRLF & _ "Miami, FL" & @CRLF & _ "North Miami Beach, FL" & @CRLF & _ "Georgia" & @CRLF & _ "" & @CRLF & _ "Alpharetta, GA" & @CRLF & _ "Atlanta, GA" & @CRLF & _ "Avondale Estates, GA" & @CRLF & _ " " & @CRLF & _ "Decatur, GA" & @CRLF & _ "Marietta, GA" & @CRLF & _ "Roswell, GA" & @CRLF & _ " " & @CRLF & _ "Scottdale, GA" & @CRLF & _ "Smyrna, GA" & @CRLF & _ "Illinois" & @CRLF & _ "" & @CRLF & _ "Aurora, IL" & @CRLF & _ "Buffalo Grove, IL" & @CRLF & _ "Chicago, IL" & @CRLF & _ "Clarendon Hills, IL" & @CRLF & _ "Deerfield, IL" & @CRLF & _ "Downers Grove, IL" & @CRLF & _ "Elmhurst, IL" & @CRLF & _ "Evanston, IL" & @CRLF & _ "Fort Sheridan, IL" & @CRLF & _ "Glencoe, IL" & @CRLF & _ "Glenview Nas, IL" & @CRLF & _ "Glenview, IL" & @CRLF & _ "Grayslake, IL" & @CRLF & _ " " & @CRLF & _ "Highland Park, IL" & @CRLF & _ "Highwood, IL" & @CRLF & _ "Hinsdale, IL" & @CRLF & _ "Kenilworth, IL" & @CRLF & _ "Lake Bluff, IL" & @CRLF & _ "Lake Forest, IL" & @CRLF & _ "Lake Zurich, IL" & @CRLF & _ "Libertyville, IL" & @CRLF & _ "Lincolnshire, IL" & @CRLF & _ "Lincolnwood, IL" & @CRLF & _ "Lisle, IL" & @CRLF & _ "Mundelein, IL" & @CRLF & _ "Naperville, IL" & @CRLF & _ " " & @CRLF & _ "Northbrook, IL" & @CRLF & _ "Oak Brook, IL" & @CRLF & _ "Prospect Heights, IL" & @CRLF & _ "Skokie, IL" & @CRLF & _ "Vernon Hills, IL" & @CRLF & _ "Villa Park, IL" & @CRLF & _ "Warrenville, IL" & @CRLF & _ "Westmont, IL" & @CRLF & _ "Wheeling, IL" & @CRLF & _ "Wilmette, IL" & @CRLF & _ "Winnetka, IL" & @CRLF & _ "Indiana" & @CRLF & _ "" & @CRLF & _ "Carmel, IN" & @CRLF & _ " " & @CRLF & _ "Fishers, IN" & @CRLF & _ " " & @CRLF & _ "Indianapolis, IN" & @CRLF & _ "Maryland" & @CRLF & _ "" & @CRLF & _ "Bethesda, MD" & @CRLF & _ "Cabin John, MD" & @CRLF & _ "Chevy Chase, MD" & @CRLF & _ "Gaithersburg, MD" & @CRLF & _ " " & @CRLF & _ "Garrett Park, MD" & @CRLF & _ "Kensington, MD" & @CRLF & _ "Potomac, MD" & @CRLF & _ "Rockville, MD" & @CRLF & _ " " & @CRLF & _ "Silver Spring, MD" & @CRLF & _ "Takoma Park, MD" & @CRLF & _ "Massachusetts" & @CRLF & _ "" & @CRLF & _ "Allston, MA" & @CRLF & _ "Arlington, MA" & @CRLF & _ "Ashley Falls, MA" & @CRLF & _ "Auburndale, MA" & @CRLF & _ "Babson Park, MA" & @CRLF & _ "Belmont, MA" & @CRLF & _ "Boston, MA" & @CRLF & _ "Brighton, MA" & @CRLF & _ "Brookline, MA" & @CRLF & _ "Cambridge, MA" & @CRLF & _ "Charlestown, MA" & @CRLF & _ " " & @CRLF & _ "Chestnut Hill, MA" & @CRLF & _ "Jamaica Plain, MA" & @CRLF & _ "Medford, MA" & @CRLF & _ "Needham, MA" & @CRLF & _ "New Town, MA" & @CRLF & _ "Newton Center, MA" & @CRLF & _ "Newton Highlands, MA" & @CRLF & _ "Newton Lower Falls, MA" & @CRLF & _ "Newton Upper Falls, MA" & @CRLF & _ "Newton, MA" & @CRLF & _ "Newtonville, MA" & @CRLF & _ " " & @CRLF & _ "Roslindale, MA" & @CRLF & _ "Sheffield, MA" & @CRLF & _ "Somerville, MA" & @CRLF & _ "South Egremont, MA" & @CRLF & _ "Waban, MA" & @CRLF & _ "Waltham, MA" & @CRLF & _ "Watertown, MA" & @CRLF & _ "Wellesley Hills, MA" & @CRLF & _ "Wellesley, MA" & @CRLF & _ "West Newton, MA" & @CRLF & _ "Michigan" & @CRLF & _ "" & @CRLF & _ "Ann Arbor, MI" & @CRLF & _ "Birmingham, MI" & @CRLF & _ "Bloomfield Hills, MI" & @CRLF & _ "Chelsea, MI" & @CRLF & _ "Commerce Township, MI" & @CRLF & _ "Dexter, MI" & @CRLF & _ "Farmington, MI" & @CRLF & _ " " & @CRLF & _ "Franklin, MI" & @CRLF & _ "Keego Harbor, MI" & @CRLF & _ "Novi, MI" & @CRLF & _ "Plymouth, MI" & @CRLF & _ "Rochester, MI" & @CRLF & _ "Royal Oak, MI" & @CRLF & _ "Saline, MI" & @CRLF & _ " " & @CRLF & _ "Southfield, MI" & @CRLF & _ "Troy, MI" & @CRLF & _ "Walled Lake, MI" & @CRLF & _ "Waterford, MI" & @CRLF & _ "West Bloomfield, MI" & @CRLF & _ "Ypsilanti, MI" & @CRLF & _ "Minnesota" & @CRLF & _ "" & @CRLF & _ "Hopkins, MN" & @CRLF & _ " " & @CRLF & _ "Minneapolis, MN" & @CRLF & _ " " & @CRLF & _ "Saint Paul, MN" & @CRLF & _ "New Jersey" & @CRLF & _ "" & @CRLF & _ "Bloomfield, NJ" & @CRLF & _ "Caldwell, NJ" & @CRLF & _ "Cedar Grove, NJ" & @CRLF & _ "Clifton, NJ" & @CRLF & _ "Elmwood Park, NJ" & @CRLF & _ "Fair Lawn, NJ" & @CRLF & _ "Fairfield, NJ" & @CRLF & _ "Garfield, NJ" & @CRLF & _ " " & @CRLF & _ "Haledon, NJ" & @CRLF & _ "Lincoln Park, NJ" & @CRLF & _ "Little Falls, NJ" & @CRLF & _ "Montclair, NJ" & @CRLF & _ "New York, NJ" & @CRLF & _ "Nutley, NJ" & @CRLF & _ "Passaic, NJ" & @CRLF & _ "Paterson, NJ" & @CRLF & _ " " & @CRLF & _ "Pequannock, NJ" & @CRLF & _ "Rutherford, NJ" & @CRLF & _ "Saddle Brook, NJ" & @CRLF & _ "Totowa, NJ" & @CRLF & _ "Verona, NJ" & @CRLF & _ "Wayne, NJ" & @CRLF & _ "New York" & @CRLF & _ "" & @CRLF & _ "Amenia, NY" & @CRLF & _ "Ancramdale, NY" & @CRLF & _ "Arverne, NY" & @CRLF & _ "Astoria, NY" & @CRLF & _ "Bayside, NY" & @CRLF & _ "Bellerose, NY" & @CRLF & _ "Breezy Point, NY" & @CRLF & _ "Brooklyn, NY" & @CRLF & _ "Cambria Heights, NY" & @CRLF & _ "College Point, NY" & @CRLF & _ "Copake, NY" & @CRLF & _ "Corona, NY" & @CRLF & _ "East Elmhurst, NY" & @CRLF & _ "Elmhurst, NY" & @CRLF & _ "Far Rockaway, NY" & @CRLF & _ "Flushing, NY" & @CRLF & _ " " & @CRLF & _ "Forest Hills, NY" & @CRLF & _ "Fresh Meadows, NY" & @CRLF & _ "Hollis, NY" & @CRLF & _ "Howard Beach, NY" & @CRLF & _ "Jackson Heights, NY" & @CRLF & _ "Jamaica, NY" & @CRLF & _ "Kew Gardens, NY" & @CRLF & _ "Little Neck, NY" & @CRLF & _ "Long Island City, NY" & @CRLF & _ "Maspeth, NY" & @CRLF & _ "Middle Village, NY" & @CRLF & _ "Millerton, NY" & @CRLF & _ "New York, NY" & @CRLF & _ "Oakland Gardens, NY" & @CRLF & _ "Ozone Park, NY" & @CRLF & _ "Pine Plains, NY" & @CRLF & _ " " & @CRLF & _ "Queens Village, NY" & @CRLF & _ "Rego Park, NY" & @CRLF & _ "Richmond Hill, NY" & @CRLF & _ "Ridgewood, NY" & @CRLF & _ "Rockaway Park, NY" & @CRLF & _ "Rosedale, NY" & @CRLF & _ "Saint Albans, NY" & @CRLF & _ "South Ozone Park, NY" & @CRLF & _ "South Richmond Hill, NY" & @CRLF & _ "Springfield Gardens, NY" & @CRLF & _ "Sunnyside, NY" & @CRLF & _ "Whitestone, NY" & @CRLF & _ "Woodhaven, NY" & @CRLF & _ "Woodside, NY" & @CRLF & _ "Oregon" & @CRLF & _ "" & @CRLF & _ "Beaverton, OR" & @CRLF & _ "Hillsboro, OR" & @CRLF & _ " " & @CRLF & _ "Lake Oswego, OR" & @CRLF & _ "Portland, OR" & @CRLF & _ " " & @CRLF & _ "Tualatin, OR" & @CRLF & _ "West Linn, OR" & @CRLF & _ "Pennsylvania" & @CRLF & _ "" & @CRLF & _ "Abington, PA" & @CRLF & _ "Ambler, PA" & @CRLF & _ "Ardmore, PA" & @CRLF & _ "Bala Cynwyd, PA" & @CRLF & _ "Bensalem, PA" & @CRLF & _ "Berwyn, PA" & @CRLF & _ "Blue Bell, PA" & @CRLF & _ "Bridgeport, PA" & @CRLF & _ "Bryn Athyn, PA" & @CRLF & _ "Bryn Mawr, PA" & @CRLF & _ "Cheltenham, PA" & @CRLF & _ "Collegeville, PA" & @CRLF & _ "Conshohocken, PA" & @CRLF & _ "Devon, PA" & @CRLF & _ "Dresher, PA" & @CRLF & _ "Drexel Hill, PA" & @CRLF & _ "Elkins Park, PA" & @CRLF & _ " " & @CRLF & _ "Flourtown, PA" & @CRLF & _ "Fort Washington, PA" & @CRLF & _ "Gladwyne, PA" & @CRLF & _ "Glenside, PA" & @CRLF & _ "Gwynedd Valley, PA" & @CRLF & _ "Gwynedd, PA" & @CRLF & _ "Haverford, PA" & @CRLF & _ "Havertown, PA" & @CRLF & _ "Huntingdon Valley, PA" & @CRLF & _ "Jenkintown, PA" & @CRLF & _ "King Of Prussia, PA" & @CRLF & _ "Lafayette Hill, PA" & @CRLF & _ "Lansdale, PA" & @CRLF & _ "Lansdowne, PA" & @CRLF & _ "Malvern, PA" & @CRLF & _ "Merion Station, PA" & @CRLF & _ "Mont Clare, PA" & @CRLF & _ " " & @CRLF & _ "Montgomeryville, PA" & @CRLF & _ "Narberth, PA" & @CRLF & _ "Norristown, PA" & @CRLF & _ "North Wales, PA" & @CRLF & _ "Oreland, PA" & @CRLF & _ "Paoli, PA" & @CRLF & _ "Philadelphia, PA" & @CRLF & _ "Phoenixville, PA" & @CRLF & _ "Plymouth Meeting, PA" & @CRLF & _ "Upper Darby, PA" & @CRLF & _ "Villanova, PA" & @CRLF & _ "Wayne, PA" & @CRLF & _ "Willow Grove, PA" & @CRLF & _ "Wyncote, PA" & @CRLF & _ "Wynnewood, PA" & @CRLF & _ "Texas" & @CRLF & _ "" & @CRLF & _ "Austin, TX" & @CRLF & _ "Bellaire, TX" & @CRLF & _ "Cedar Park, TX" & @CRLF & _ "Conroe, TX" & @CRLF & _ " " & @CRLF & _ "Houston, TX" & @CRLF & _ "Katy, TX" & @CRLF & _ "Pflugerville, TX" & @CRLF & _ "Round Rock, TX" & @CRLF & _ " " & @CRLF & _ "Sandy, TX" & @CRLF & _ "Spring, TX" & @CRLF & _ "Virginia" & @CRLF & _ "" & @CRLF & _ "Alexandria, VA" & @CRLF & _ "Arlington, VA" & @CRLF & _ " " & @CRLF & _ "Dunn Loring, VA" & @CRLF & _ "Falls Church, VA" & @CRLF & _ " " & @CRLF & _ "Ft Myer, VA" & @CRLF & _ "McLean, VA" & @CRLF & _ "Washington" & @CRLF & _ "" & @CRLF & _ "Bellevue, WA" & @CRLF & _ "Kirkland, WA" & @CRLF & _ "Lynnwood, WA" & @CRLF & _ " " & @CRLF & _ "Medina, WA" & @CRLF & _ "Mercer Island, WA" & @CRLF & _ "Mountlake Terrace, WA" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "Result")

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm