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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

re = /([A-Z]+?)\s([A-Z]+)\s/m str = 'ACCS Access CRST Crest GRA Grange PLAT Plateau SLPE Slope ALLY Alley CRSS Cross GRN Green PLZA Plaza SND Sound ALWY Alleyway CRSG Crossing GRND Ground PKT Pocket SPUR Spur AMBL Amble CRD Crossroad GR Grove PNT Point SQ Square ANCG Anchorage COWY Crossway GLY Gully PORT Port STRS Stairs APP Approach CUWY Cruiseway HTS Heights PROM Promenade SHWY State Highway ARC Arcade CDS Cul-de-sac HRD Highroad QUAD Quad STPS Steps ART Artery CITG Cutting HWY Highway QDGL Quadrangle STRA Strand AVE Avenue DALE Dale HILL Hill QDRT Quadrant ST Street BASN Basin DELL Dell INTG Interchange QY Quay STRP Strip BCH Beach DEVN Deviation INTN Intersection QYS Quays SBWY Subway BEND Bend DIP Dip INC Junction RMBL Ramble TARN Tarn BLK Block DSTR Distributor KEY Key RAMP Ramp TCE Terrace BVD Boulevard DR Drive LDG Landing RNGE Range THOR Thoroughfare BRCE Brace DRWY Driveway LANE Lane RCH Reach TLWY Tollway BRAE Brae EDGE Edge LNWY Laneway RES Reserve TOP Top BRK Break ELB Elbow LEES Lees REST Rest TOR Tor BDGE Bridge END End LNE Line RTT Retreat TWRS Towers BDWY Broadway ENT Entrance LINK Link RIDE Ride TRK Track BROW Brow ESP Esplanade LT Little RDGE Ridge TRL Trail BYPA Bypass EST Estate LKT Lookout RGWY Ridgeway TRLR Trailer BYWY Byway EXP Expressway LOOP Loop ROWY Right of TRI Triangle CAUS Causeway EXTN Extension LWR Lower RING Ring TKY Trunkway CTR Centre FAWY Fairway MALL Mall RISE Rise TURN TURN' subst = 'const STREET_TYPE_$1 = \'$1\';\\n' result = str.gsub(re, subst) # Print the result of the substitution puts 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 Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html