Regular Expressions 101

Save & Share

  • Regex Version: ver. 23
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
gm

Test String

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"(^Order No.*|^EAN.*|Customer Material.*)\n\s*(\d+) [\s\S\n]+?(?=(EAN: \d+))" test_str = ("Vorsitzender des Aufsichtsrats/Chairman of the Supervisory Board: Dr. Heinrich Hiesinger Commerzbank AG, Schweinfurt\n" "Vorstand/Board of Management: Dr. Holger Klein (Vorsitzender/CEO), Dr. Martin Fischer, Kto. 653 3277\n" "Michael Frick, Dr. Lea Corzilius, Dr. Peter Laier, Stephan von Schuckmann SWIFT:COBADEFF793\n" "Sitz/Headquarters: Friedrichshafen # Handelsregistereintrag Amtsgericht Ulm HRB 630206/ IBAN-No:DE82793400540653327700\n" "Trade register of the municipal court of Ulm HRB 630206\n" "www.Giovanni .com\n" "Our VAT No.\n" "DE145374190\n" "1/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Invoice\n" "Please state with payment\n" "Number\n" "5013018456\n" "Transport\n" "101131778\n" "Contact person\n" "Lenka Bocek\n" "E-Mail\n" "lenka.bocek@Giovanni .com\n" "Customer No/Supplier\n" "D068110/885522\n" "Date\n" "14.02.2024\n" "Telephone\n" "00420 731316628\n" "Your VAT No.\n" "BG175423111\n" "Terms of delivery: DAP Praga\n" "subject to Incoterms 2020\n" "Goods recipient\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Shipment by\n" "Truck - normal\n" "Forwarder\n" "Lagermax Logistics Austria GmbH\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "Transport: 23960099\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3161493 Your Reference: A202311161157\n" "202 1327.302.005 000 1 176,01 1 176,01\n" "HELICAL GEAR\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000169496\n" "Goods value: 176,01\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3172200 Your Reference: A202312071323\n" "212 0630.502.009 000 30 0,21 1 6,30\n" "CIRCLIP\n" "HS.code: 73182100 Country of origin: QU\n" "EAN: 2050000290305\n" "222 0630.502.009 000 100 0,21 1 21,00\n" "CIRCLIP\n" "HS.code: 73182100 Country of origin: TR\n" "EAN: 2050000290305\n" "Goods value: 27,30\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3188921 Your Reference: A202401171435\n" "952 4181.355.025 000 1 11,58 1 11,58\n" "END DISC\n" "HS.code: 87084099 Country of origin: EU/PL\n" "EAN: 2050000114007\n" "Goods value: 11,58\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3188973 Your Reference: A202401171606\n" "carry forward 214,89\n" "2/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "carry forward 214,89\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "962 1328.298.005 009 2 323,25 1 646,50\n" "CLUTCH ACTUATOR\n" "HS.code: 87084099 Country of origin: EU/CZ\n" "EAN: 4053202141381\n" "Goods value: 646,50\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3189396 Your Reference: A202401181248\n" "972 0750.116.607 000 3 26,43 1 79,29\n" "BALL BEARING\n" "HS.code: 84821090 Country of origin: IN\n" "EAN: 2050013015506\n" "982 1307.203.019 009 1 16,31 1 16,31\n" "TA.ROLLER BEARING\n" "HS.code: 84822000 Country of origin: JP\n" "EAN: 4053202051758\n" "992 4139.298.081 009 2 172,30 1 344,60\n" "SEALING RING KIT\n" "HS.code: 84849000 Country of origin: EU/DE\n" "EAN: 4053202129518\n" "1002 4181.377.018 000 1 14,45 1 14,45\n" "SCREW PLUG\n" "HS.code: 73181595 Country of origin: EU/DE\n" "EAN: 2050000154355\n" "Goods value: 454,65\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3193183 Your Reference: A202401251225\n" "1012 4181.377.050 000 2 277,57 1 555,14\n" "OIL PAN\n" "HS.code: 87084099 Country of origin: TR\n" "EAN: 2050011039825\n" "Goods value: 555,14\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3193355 Your Reference: A202401251529\n" "1022 1315.315.012 000 2 4,50 1 9,00\n" "GASKET\n" "HS.code: 84841000 Country of origin: EU/DE\n" "EAN: 2050000167836\n" "1032 4139.298.942 009 3 177,38 1 532,14\n" "SEALING RING KIT\n" "HS.code: 84849000 Country of origin: EU/DE\n" "EAN: 4053202129433\n" "1042 4149.320.033 000 1 97,71 1 97,71\n" "SEALING WASHER\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000061196\n" "1052 0501.332.745 000 2 9,32 1 18,64\n" "SLIDING BUSH\n" "HS.code: 87085091 Country of origin: EU/DE\n" "EAN: 2050009868260\n" "Goods value: 657,49\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3197043 Your Reference: A202402011151\n" "carry forward 2.528,67\n" "3/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "carry forward 2.528,67\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "1062 0636.015.270 000 1 0,48 1 0,48\n" "HEXAGON SCREW\n" "HS.code: 73181582 Country of origin: EU/IT\n" "EAN: 2050000159053\n" "1072 0735.358.321 000 12 20,71 1 248,52\n" "NEEDLE CAGE\n" "HS.code: 84824000 Country of origin: EU/SK\n" "EAN: 2050000158612\n" "1082 0501.320.369 000 5 15,75 1 78,75\n" "SEALING RING\n" "HS.code: 39269097 Country of origin: EU/IE\n" "EAN: 2050000018428\n" "Goods value: 327,75\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3197919 Your Reference: A202402021508\n" "1092 0501.314.432 000 10 17,91 1 179,10\n" "IND.TRANSMITTER\n" "HS.code: 90299000 Country of origin: TR\n" "EAN: 2050000077111\n" "1102 0501.316.322 000 11 16,10 1 177,10\n" "GASKET\n" "HS.code: 84841000 Country of origin: GB\n" "EAN: 2050000014130\n" "1112 0501.316.527 000 7 70,00 1 490,00\n" "SOLENOID VALVE\n" "HS.code: 84818079 Country of origin: EU/CZ\n" "EAN: 2050000011412\n" "1122 0501.319.200 009 20 109,68 1 2.193,60\n" "SOLENOID VALVE\n" "HS.code: 84818079 Country of origin: CH\n" "EAN: 4053202026244\n" "1132 0501.322.776 000 10 10,44 1 104,40\n" "GASKET\n" "HS.code: 84841000 Country of origin: EU/DE\n" "EAN: 2050003241472\n" "1142 0501.324.367 000 10 10,04 1 100,40\n" "FLAT GASKET\n" "HS.code: 84841000 Country of origin: EU/DE\n" "EAN: 2050000036156\n" "1152 0501.324.368 000 10 10,14 1 101,40\n" "FLAT GASKET\n" "HS.code: 84841000 Country of origin: EU/DE\n" "EAN: 2050000116957\n" "1162 0631.329.051 000 50 0,27 1 13,50\n" "SPRING PIN\n" "HS.code: 73269098 Country of origin: EU/DE\n" "EAN: 2050000004667\n" "1172 0631.329.167 000 50 0,18 1 9,00\n" "SPRING PIN\n" "HS.code: 73269098 Country of origin: EU/DE\n" "EAN: 2050000065132\n" "1182 0634.349.843 000 19 3,52 1 66,88\n" "O-RING\n" "HS.code: 39269097 Country of origin: EU/IT\n" "EAN: 2050003379939\n" "1192 0730.007.488 000 1 14,10 1 14,10\n" "SHIM\n" "HS.code: 73182200 Country of origin: EU/DE\n" "EAN: 2050000078606\n" "carry forward 6.305,90\n" "4/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "carry forward 6.305,90\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "1202 0730.008.528 000 5 14,37 1 71,85\n" "SHIM\n" "HS.code: 73182200 Country of origin: EU/DE\n" "EAN: 2050000120220\n" "1212 0730.106.860 000 1 14,80 1 14,80\n" "SHIM\n" "HS.code: 73182200 Country of origin: EU/SK\n" "EAN: 2050000014468\n" "1222 0730.106.917 000 4 11,36 1 45,44\n" "SHIM\n" "HS.code: 73182200 Country of origin: EU/SK\n" "EAN: 2050000119125\n" "1232 0730.110.828 000 3 8,75 1 26,25\n" "SPACER WASHER\n" "HS.code: 73182200 Country of origin: EU/DE\n" "EAN: 2050000046438\n" "1242 0730.514.009 000 10 5,27 1 52,70\n" "SNAP RING\n" "HS.code: 73182100 Country of origin: EU/IT\n" "EAN: 2050000094248\n" "1252 0732.040.929 000 30 0,39 1 11,70\n" "COMPR.SPRING\n" "HS.code: 73202081 Country of origin: EU/DE\n" "EAN: 2050000113284\n" "1262 0734.401.251 000 44 3,05 1 134,20\n" "PISTON RING\n" "HS.code: 73182100 Country of origin: JP\n" "EAN: 2050000026638\n" "1272 0735.298.169 000 11 18,50 1 203,50\n" "AXIAL NEEDLE BEARING\n" "HS.code: 84824000 Country of origin: EU/DE\n" "EAN: 2050000114557\n" "1282 0735.301.275 000 8 5,62 1 44,96\n" "NEEDLE CAGE\n" "HS.code: 84824000 Country of origin: EU/DE\n" "EAN: 2050003165266\n" "1292 0750.115.303 000 1 18,95 1 18,95\n" "NEEDLE CAGE\n" "HS.code: 84824000 Country of origin: IN\n" "EAN: 2050000116407\n" "1302 0750.115.518 000 10 2,16 1 21,60\n" "NEEDLE SLEEVE\n" "HS.code: 84824000 Country of origin: EU/DE\n" "EAN: 2050000086328\n" "1312 0750.115.519 000 5 4,06 1 20,30\n" "NEEDLE SLEEVE\n" "HS.code: 84824000 Country of origin: US\n" "EAN: 2050000080418\n" "1322 0750.116.266 000 6 14,48 1 86,88\n" "BALL BEARING\n" "HS.code: 84821010 Country of origin: JP\n" "EAN: 2050000136542\n" "1332 0750.116.365 000 10 26,91 1 269,10\n" "BALL BEARING\n" "HS.code: 84821090 Country of origin: CN\n" "EAN: 2050000117732\n" "carry forward 7.328,13\n" "5/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "carry forward 7.328,13\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "1342 0750.118.284 000 1 86,07 1 86,07\n" "NEEDLE BEARING\n" "HS.code: 84824000 Country of origin: IN\n" "EAN: 2050000044779\n" "1352 0770.067.039 000 4 15,42 1 61,68\n" "CUP SPRING\n" "HS.code: 73209030 Country of origin: EU/DE\n" "EAN: 2050003236652\n" "1362 1296.333.050 000 5 70,20 1 351,00\n" "CLUTCH BODY\n" "HS.code: 87084099 Country of origin: CN\n" "EAN: 2050000147401\n" "1372 1312.304.056 000 5 58,26 1 291,30\n" "CLUTCH BODY\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000035371\n" "1382 1315.334.069 000 10 26,87 1 268,70\n" "CYLINDER\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000084003\n" "1392 1316.233.030 000 1 224,45 1 224,45\n" "CLUTCH BODY\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000093555\n" "1402 1316.302.066 000 1 137,24 1 137,24\n" "HELICAL GEAR\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000087578\n" "1412 1316.304.189 000 2 56,43 1 112,86\n" "SYNCHRO.RING\n" "HS.code: 87084099 Country of origin: QU\n" "EAN: 2050000074554\n" "1422 1316.332.129 000 1 614,22 1 614,22\n" "RING GEAR CARRIER\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050013222829\n" "1432 1324.207.033 000 34 5,12 1 174,08\n" "DETENT PLUNGER\n" "HS.code: 73182900 Country of origin: EU/DE\n" "EAN: 2050000062810\n" "1442 1327.304.015 000 9 449,65 1 4.046,85\n" "HELICAL GEAR\n" "HS.code: 87084099 Country of origin: EU/IT\n" "EAN: 2050000156090\n" "1452 1328.304.064 000 10 71,59 1 715,90\n" "SLIDING SLEEVE\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000047541\n" "1462 4139.206.415 000 36 13,42 1 483,12\n" "PISTON\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000144929\n" "1472 4139.298.021 009 7 34,75 1 243,25\n" "REPAIR KIT\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 4053202174013\n" "carry forward 15.138,85\n" "6/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "carry forward 15.138,85\n" "Item Part Number\n" "Description\n" "Suffix Quantity\n" "Piece\n" "Price/\n" "EUR\n" "Per\n" "PCE\n" "Disc.% Amount\n" "EUR\n" "Customer Material / Material entered / OE-Number\n" "1482 4139.298.042 009 1 529,87 1 529,87\n" "REPAIR KIT\n" "HS.code: 87084099 Country of origin: EU/PL\n" "EAN: 4053202173832\n" "1492 4139.333.745 000 23 17,05 1 392,15\n" "O.CLUTCH DISC\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000143649\n" "1502 4139.333.765 000 12 6,72 1 80,64\n" "I.CLUTCH DISC\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000136405\n" "1512 4149.206.098 000 1 231,46 1 231,46\n" "WIRING HARNESS\n" "HS.code: 85443000 Country of origin: EU/DE\n" "EAN: 2050000096723\n" "1522 4149.310.025 000 3 37,78 1 113,34\n" "PISTON\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050000141478\n" "1532 4181.298.004 009 15 805,25 1 12.078,75\n" "REPAIR KIT\n" "HS.code: 87084099 Country of origin: EU/PL\n" "EAN: 4053202151564\n" "1542 6093.201.055 000 5 8,98 1 44,90\n" "PISTON\n" "HS.code: 87084099 Country of origin: EU/DE\n" "EAN: 2050013340097\n" "1552 0730.306.436 000 100 1,97 1 197,00\n" "TYPE PLATE\n" "HS.code: 83100000 Country of origin: EU/DE\n" "EAN: 2050014608639\n" "Goods value: 25.950,54\n" "Delivery: 165144875 Goods recipient: Carmelo Srl Date of del.: 14.02.2024\n" "Order No.: 3198913 Your Reference: A202402051653\n" "1562 0636.011.768 000 2.000 0,52 1 1.040,00\n" "HEXAGON SCREW\n" "HS.code: 73181588 Country of origin: TR\n" "EAN: 2050000044588\n" "1572 0636.024.526 000 1.000 0,79 1 790,00\n" "HEXAGON SCREW\n" "HS.code: 73181588 Country of origin: TR\n" "EAN: 2050000110092\n" "Goods value: 1.830,00\n" "Freight charges 183,03\n" "Subtotal 30.636,96\n" "Freight charges 183,03\n" "Total amount 30.819,99\n" "Terms of payment Up to 28.02.2024 you receive 2,000 % discount Up to 14.04.2024 without deduction\n" "Tax free supply within the EEC in terms of §6a VAT Law.\n" "Packaging 2 collies Gross weight/kg 472,00 Net weight/kg 440,00\n" "Marks:\n" "Carmelo Srl\n" "Sofia\n" "Bulgaria\n" "7/7\n" "Giovanni AG\n" "Giovanni Aftermarket,Obere Weiden 12,97424 Schweinfurt\n" "Carmelo Srl\n" "EOO\n" "Via del molino 26\n" "2024 Praga\n" "Spanish\n" "Number 5013018456\n" "Date 14.02.2024\n" "0023960099/1 -2\n" "All gross prices are the recommended retail prices.\n" "Place of fulfillment for delivery and payment is Schweinfurt.\n" "For all payments and enquiries, please indicate customer no., invoice no. and date.\n" "The terms of supply and payment can be found under www.aftermarket.Giovanni .com/tac.\n" "This document has been created automatically, therefore it is issued without signature and stamp.\n") matches = re.finditer(regex, test_str, re.MULTILINE) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html