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

/
/
m

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 = "(?m)(^[0-9]{8})(?: )([0-9]{2}\/[0-9]{2}\/[0-9]{4})" Local $sString = "//INIZIO//" & @CRLF & _ "19300011 08/01/2019" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "ASSEGNATO" & @CRLF & _ "N.Ord. Peso" & @CRLF & _ "1 A.2018/003 NR 800 CAVALL.CENTR.SINGOLO RIPIEGATO /" & @CRLF & _ "2 A.4006/D51 NR 800 ASSIEME CONTATTO DX INVERTITOR / 2655,200" & @CRLF & _ "3 A.4006/S51 NR 800 ASSIEME CONTATTO SX INVERTITOR / 3112,000" & @CRLF & _ "4 A.4039/D52 NR 3000 ASSIEME CONTATTO TERRA BIVALEN / 12393,000" & @CRLF & _ "5 A.4039/S52 NR 5000 ASSIEME CONTATTO FASE BIVALENT / 20710,000" & @CRLF & _ "6 A.4050/052 NR 2000 ASS. CONT. TERRA PRESA UNIVERS / 12366,000" & @CRLF & _ "7 A.4050/053 NR 5000 ASS. CONT. FASE PRESA UNIVERSA / 24815,000" & @CRLF & _ "8 BIADESIVO MT 50 BIADESIVO SOTTILE SUPP. SP 0,1 /" & @CRLF & _ "9 ETI.100X56G NR 292 ETICHETTE 100X56 GIALLE X CONF /" & @CRLF & _ "10 ETI.30X15B NR 38512 ETICHETTE IN ROTOLO 15X30 BIAN /" & @CRLF & _ "11 ETI.32X80EL NR 233 ETICH IN ROTOLO 32X80 GIALLE /" & @CRLF & _ "12 GR.002 NR 2200 CONTATTO PER CAVALLOTTO / 2257,200" & @CRLF & _ "13 GR.003 NR 2200 CAVALLOTTO CENTRALE SINGOLO / 3484,800" & @CRLF & _ "14 GR.023 NR 10000 MORS.STRINGIF.PULS.7,8X7,8 ZB / 7570,000" & @CRLF & _ "15 GR.024 NR 3500 CORNICE ESTERNA / 13170,500" & @CRLF & _ "16 IMBALLO.01 NR 2 CARTONE LxLxH 533X330X285 /" & @CRLF & _ "17 IMBALLO.17N NR 25 CARTONE LxLxH INT 383X189X123 /" & @CRLF & _ "18 IMBALLO.22N NR 30 CARTONE LxLxH 35X27X18,5 / 10208,100" & @CRLF & _ "19 LAMP.NEON NR 1000 LAMP.NEON NE6X13 HB+100K 24/58 / 498,000" & @CRLF & _ "20 MEGA.2,5X42 NR 1000 GUAINA PVC DM.INT.2,5x42 TAGL. / 210,000" & @CRLF & _ "21 MOL2000/00 NR 2000 MOLLA INT.-PULSANTI ZINCATA BI / 1424,000" & @CRLF & _ "22 MOL3000/05 NR 600 MOLLA PULSANTE LUNGA ZINC.BIAN / 1000,800" & @CRLF & _ "23 MOL4011/00 NR 2400 MOLLA PULSANTI / 100,800" & @CRLF & _ "24 MOL4050/02 NR 4000 MOLLA RITORNO ELICA / 1688,000" & @CRLF & _ "25 PER2000/02 NR 5000 TER.MOL.GAMBO CORTO TESTA ALTA / 4890,000" & @CRLF & _ "26 PLA2012/01 NR 500 PULSANTE LUMINOSO AVORIO / 1564,000" & @CRLF & _ "27 PLA2012/02 NR 2000 INTERNO PULS.LUMINOSO ROSSO / 1260,000" & @CRLF & _ "28 PLA2015/00 NR 1500 CORPO BIPOL.LUM. 4 USC. NERO / 12826,500" & @CRLF & _ "29 PLA2015/01 NR 1000 TELAIET.INTERRUTTORE NERO / 2247,000" & @CRLF & _ "30 PLA2015/02 NR 434 TASTO LUMINOSO TAMPOGRAFATO "0 / 1363,194" & @CRLF & _ "31 PLA2021/00 NR 1500 CORPO PULSANTE 2 USCITE NERO / 11953,500" & @CRLF & _ "32 PLA2024/02 NR 50 POMELLO NEW PER ART.2024 / 165,000" & @CRLF & _ "Bolla con continuazione" & @CRLF & _ "19300011 08/01/2019" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "ASSEGNATO" & @CRLF & _ "N.Ord. Peso" & @CRLF & _ "33 PLA2050.01 NR 2400 MOSTRINA UNIV.3FORI AVORIO LAS / 36969,600" & @CRLF & _ "34 PLA3000/05 NR 500 TASTO INTER. TL CON CANNOTTI C / 2095,000" & @CRLF & _ "35 PLA3012/01 NR 375 PULSANTE LUMINOSO SERIE TL / 1672,875" & @CRLF & _ "36 PLA4012/03 NR 2000 SOTTOTASTO TRASPARENTE / 5028,000" & @CRLF & _ "37 PLA4039/04 NR 6000 SOTTOELICA NERO / 6240,000" & @CRLF & _ "38 PLA4039/05 NR 5200 ELICA DI SICUREZZA NERO / 4134,000" & @CRLF & _ "39 PLA4045/00 NR 4500 CORPO PRESA BIVALENTE FLEXÌ / 36454,500" & @CRLF & _ "40 PLA4045/01 NR 2500 MOSTRINA PRESA BIVALENTE FLEXÌ / 13017,500" & @CRLF & _ "41 PLA4045/01WH NR 5000 MOSTRINA PRESA BIV. BIANCA / 26870,000" & @CRLF & _ "42 PLA4050/00 NR 3000 CORPO PRESA UNIVERSALE 2M / 23250,000" & @CRLF & _ "43 PLA4051/00WH NR 120 MOSTRINA TV SAT BIANCO / 810,960" & @CRLF & _ "44 PLA4080/00 NR 20000 MOSTRINA FALSO POLO FLEXÌ / 75300,000" & @CRLF & _ "45 PLA4080/00WH NR 8600 MOSTRINA FALSO POLO BIANCA / 33720,600" & @CRLF & _ "46 PLA4600/00 NR 65000 ADATTATORE SUPPORTO FLEXÌ / 17615,000" & @CRLF & _ "47 PLA4604/00 NR 1500 SUPPORTO 4P FLEXÌ / 32133,000" & @CRLF & _ "48 PLA4607/00 NR 500 SUPPORTO 7P FLEXÌ / 14846,500" & @CRLF & _ "49 PLA5703/00N NR 62 LASTRA TAGLIATA E FORATA 3M NE /" & @CRLF & _ "50 PLA5703/00NG NR 80 LASTRA TAGLIATA E FORATA 3M NE /" & @CRLF & _ "51 PLA5703/01 NR 160 CORNICE 3P ELITE TRASPARENTE / 2602,400" & @CRLF & _ "52 PLA7604/00 NR 300 SUPPORTO 4M FLAT / 6432,000" & @CRLF & _ "53 PLA7607/00 NR 200 SUPPORTO 7M FLAT / 5847,800" & @CRLF & _ "54 R.75.O NR 200 RESIST. 1/4 W 75 OHMS 1% /" & @CRLF & _ "55 S.4050/001 NR 240 MOSTR. UNIV. VERNICIATA ARGENT / 3298,560" & @CRLF & _ "56 S.5700.3CR NR 240 ANELLO ELITE 3P CROMATO / 1712,880" & @CRLF & _ "57 SACCH.30X42 NR 21 SACCH. PLT CM. 30X40 SPESS. 0, / 21,273" & @CRLF & _ "58 SACCH30X22 NR 200 SACCH. PLT CM. 20X30 SPESS. 0, / 1231,400" & @CRLF & _ "59 SCA.CLICK NR 100 SCATOLA CLICK 20,53X16X9,5 /" & @CRLF & _ "60 SCA.FLAT/3 NR 10 SCATOLA AUTOMONTANTE X PLACCHE / 1350,000" & @CRLF & _ "61 SCA.FLEX NR 8 SCATOLA FLEX 299X145X105 /" & @CRLF & _ "62 VBX.M3,5X22 NR 8000 V.T/BOMB.COMB.CIL.3,5X22 ZB / 11064,000" & @CRLF & _ "Bolla con continuazione" & @CRLF & _ "19300011 08/01/2019" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "COMPARIN SYSTEM S.R.L." & @CRLF & _ "VIA F.TASCA 145" & @CRLF & _ "35010 SAN PIETRO IN GU PD" & @CRLF & _ "Italia" & @CRLF & _ "ASSEGNATO" & @CRLF & _ "N.Ord. Peso" & @CRLF & _ "63 22520036 NR 120 PRESA ULB CONN.MASCHIO 0 DB / 7897,200" & @CRLF & _ "**************************************************" & @CRLF & _ "NR 02 PALLET 80 X 120 + NR. 01 PALLET 74 X 74" & @CRLF & _ "PESO TOTALE KG. 630" & @CRLF & _ "**************************************************" & @CRLF & _ "5HL 3 BANCALI" & @CRLF & _ "Destinatario 3 630,00" & @CRLF & _ "USCITA IN C/LAVORO A FORNITORE" & @CRLF & _ "08/01/2019 16:11:16" & @CRLF & _ "//FINE//" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYFULLMATCH) ; 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