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
No Match

r"
"
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

import Foundation let pattern = #"(.*),(\d+)-(\d+)-(\d+)"# let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines) let testString = #""" ocreedlandz,Olivia Creedland,F,40137 Northland Avenue,ocreedlandz@vinaora.com,1982-03-27 ahogsden10,Aeriell Hogsden,M,46 Monica Parkway,ahogsden10@vistaprint.com,1954-03-04 fharkins11,Forest Harkins,M,7489 Johnson Street,fharkins11@cpanel.net,2016-05-01 rnerheny12,Raina Nerheny,F,29 Laurel Lane,rnerheny12@themeforest.net,1980-05-07 msapp13,Marlo Sapp,F,30 Holmberg Lane,msapp13@live.com,1998-09-07 bgripton14,Bunnie Gripton,M,21218 Dottie Drive,bgripton14@wired.com,1996-07-31 jnazair15,Joanne Nazair,M,46 Sommers Crossing,jnazair15@senate.gov,2010-03-28 rsummerbell16,Robenia Summerbell,F,5306 Armistice Hill,rsummerbell16@vinaora.com,2014-10-01 dpowlesland17,Dannye Powlesland,F,45519 Steensland Circle,dpowlesland17@arstechnica.com,1952-06-23 asherel18,Ania Sherel,M,57090 Johnson Way,asherel18@drupal.org,1963-12-18 feliesco19,Fabien Eliesco,M,982 Portage Plaza,feliesco19@statcounter.com,1985-10-04 jpoundford1a,Jan Poundford,M,24603 Loeprich Court,jpoundford1a@abc.net.au,1957-08-24 rdrescher1b,Rosanna Drescher,F,3569 Glendale Point,rdrescher1b@marketwatch.com,1948-08-25 xmarflitt1c,Ximenez Marflitt,M,688 Grover Drive,xmarflitt1c@soup.io,2012-11-17 nshilston1d,Naomi Shilston,M,1 Summer Ridge Junction,nshilston1d@shop-pro.jp,1947-01-25 ejina1e,Eddy Jina,M,6 Sycamore Drive,ejina1e@icq.com,1979-08-28 dweild1f,Dorri Weild,F,128 Autumn Leaf Point,dweild1f@elpais.com,1980-03-31 bhardes1g,Bryce Hardes,M,29458 Village Green Pass,bhardes1g@whitehouse.gov,1941-09-21 adowtry1h,Andre Dowtry,F,81 Dunning Avenue,adowtry1h@slate.com,2018-04-27 otiffany1i,Odelinda Tiffany,F,923 Atwood Court,otiffany1i@bizjournals.com,1992-12-19 dcouzens1j,Dunstan Couzens,F,0 Main Crossing,dcouzens1j@patch.com,1990-09-25 trolfi1k,Talyah Rolfi,M,746 Upham Hill,trolfi1k@buzzfeed.com,1942-08-22 handerl1l,Hymie Anderl,F,5 3rd Crossing,handerl1l@indiegogo.com,1983-11-13 delwill1m,Dorise Elwill,F,04 Monterey Road,delwill1m@ning.com,1996-10-03 naberdalgy1n,Nehemiah Aberdalgy,M,3 Milwaukee Park,naberdalgy1n@fastcompany.com,2015-01-17 lcorbally1o,Lawry Corbally,M,16934 Larry Crossing,lcorbally1o@biblegateway.com,2019-10-30 groberson1p,Goldy Roberson,M,8 Walton Lane,groberson1p@chron.com,1986-08-20 rtoland1q,Rosemonde Toland,F,40 Fisk Drive,rtoland1q@adobe.com,1981-12-03 plethem1r,Parker Lethem,M,571 Vernon Parkway,plethem1r@tumblr.com,1940-10-19 sgoundry1s,Salem Goundry,F,583 Saint Paul Crossing,sgoundry1s@army.mil,1959-07-16 rmcconigal1t,Reggy McConigal,M,5663 Cambridge Way,rmcconigal1t@wikimedia.org,2007-10-27 rdelue1u,Rochell Delue,M,9007 Hintze Park,rdelue1u@blogspot.com,1971-10-04 aarnholz1v,Aeriela Arnholz,F,6 5th Drive,aarnholz1v@bandcamp.com,2011-08-06 wmoraleda1w,Way Moraleda,M,07 Declaration Place,wmoraleda1w@washingtonpost.com,1973-02-25 crisso1x,Caitrin Risso,F,99 Stuart Trail,crisso1x@sbwire.com,1946-10-21 krawcliff1y,Kermy Rawcliff,M,2578 Lake View Center,krawcliff1y@w3.org,1943-05-28 meykelbosch1z,Matthieu Eykelbosch,M,205 Tennessee Crossing,meykelbosch1z@jiathis.com,1979-09-03 gmcilvaney20,Greer McIlvaney,M,0 Birchwood Trail,gmcilvaney20@aol.com,1953-05-26 lmccullough21,Lucilia McCullough,M,72 Annamark Court,lmccullough21@ezinearticles.com,1975-09-05 npead22,Nico Pead,M,2 Columbus Point,npead22@ezinearticles.com,2020-10-03 agrigoliis23,Alma Grigoliis,M,091 Rigney Crossing,agrigoliis23@skype.com,1988-09-21 bdobeson24,Basia Dobeson,M,7 Oneill Center,bdobeson24@delicious.com,2015-04-14 owippermann25,Ortensia Wippermann,M,87610 Bashford Avenue,owippermann25@huffingtonpost.com,1984-01-08 ghiggonet26,Geri Higgonet,F,66435 Russell Terrace,ghiggonet26@apple.com,2001-12-24 sscorey27,Scotty Scorey,F,4798 Farragut Court,sscorey27@cbslocal.com,1978-09-21 cjaukovic28,Cassandre Jaukovic,M,324 Little Fleur Point,cjaukovic28@netscape.com,1962-02-24 ibrentnall29,Isac Brentnall,M,641 Raven Parkway,ibrentnall29@etsy.com,1999-07-27 jlannin2a,Joela Lannin,M,5776 Melby Hill,jlannin2a@cdc.gov,1998-10-20 dstudd2b,Doralynne Studd,M,8 Florence Way,dstudd2b@google.it,2007-01-16 lhandyside2c,Livvy Handyside,M,55522 Daystar Center,lhandyside2c@europa.eu,1960-07-28 lverne2d,La verne Stener,F,1 Manitowish Lane,lverne2d@msn.com,1943-05-16 dbowgen2e,Danice Bowgen,M,3096 Kensington Hill,dbowgen2e@berkeley.edu,2015-01-06 dmccutheon2f,Deirdre McCutheon,M,9074 Loeprich Road,dmccutheon2f@creativecommons.org,1967-06-11 rcrauford2g,Raven Crauford,M,79787 Dryden Alley,rcrauford2g@hugedomains.com,1984-09-10 msissland2h,Mercie Sissland,F,94 Loftsgordon Trail,msissland2h@ebay.com,1976-06-13 nmccandie2i,Nedi McCandie,F,62844 Rigney Court,nmccandie2i@webs.com,2020-09-05 iiley2j,Ignazio Iley,M,6816 Sommers Hill,iiley2j@over-blog.com,1945-08-26 aghelerdini2k,Atalanta Ghelerdini,F,27 Mendota Center,aghelerdini2k@spotify.com,1976-09-15 wbromehead2l,Waverly Bromehead,F,58 Killdeer Trail,wbromehead2l@tumblr.com,1977-07-09 tkinch2m,Thaine Kinch,F,0151 Thackeray Point,tkinch2m@time.com,1946-03-12 qrosone2n,Quinta Rosone,F,74582 Melby Way,qrosone2n@bigcartel.com,1965-03-01 lcapron2o,Lucretia Capron,F,12510 Golden Leaf Hill,lcapron2o@cornell.edu,1979-12-26 lreader2p,Lita Reader,F,240 Corry Circle,lreader2p@a8.net,1942-03-06 khammelberg2q,Karita Hammelberg,F,8 Hazelcrest Crossing,khammelberg2q@geocities.com,1958-06-11 bfontin2r,Brucie Fontin,F,21997 Charing Cross Point,bfontin2r@webnode.com,1973-11-03 """# let stringRange = NSRange(location: 0, length: testString.utf16.count) let substitutionString = #"\1,\4/\3/\2"# let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString) print(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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression