Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
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
Processing...

Test String

Code Generator

Generated Code

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

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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html