Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • 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

/
/
g

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"<label for=\".*\">(.*)<\/label>" test_str = ("<body>\n" "<form name=\"catalogue\" action=\"test.php\" method=\"GET\">\n" " <div class=\"container\">\n" " <div class=\"row\">\n" " <div class=\"col\">\n" " <div class=\"form-group m-1\">\n" " <label for=\"product\">product</label>\n" " <select id=\"product\" name=\"product\" onChange=\"submitForm(this);\">\n" " <option value=\"compliment_slips\" >Μηνύματα αλληλογραφίας</option>\n" " <option value=\"stickers\" selected >Aυτοκόλλητα</option>\n" " <option value=\"floor sticker\" >Aυτοκόλλητα δαπέδου</option>\n" " <option value=\"trolly token\" >Kέρματα για καρότσι αγορώv</option>\n" " <option value=\"banner\" >L-banners</option>\n" " <option value=\"soft mousepad\" >Mousepads</option>\n" " <option value=\"walls\" >Pop-up stands</option>\n" " <option value=\"popup tower\" >Pop-up πυλώνας</option>\n" " <option value=\"rollups\" >Roll-up banners</option>\n" " <option value=\"phone case\" >Smartphone-φωτο/φίες</option>\n" " <option value=\"sweater\" >Sweatshirts/Πουλόβερ</option>\n" " <option value=\"tablet case\" >Tablet-φωτο/φίες</option>\n" " <option value=\"door_hanger\" >Tαμπελακια πορτας</option>\n" " <option value=\"x-banner\" >X-banners</option>\n" " <option value=\"blowups_xxlBanner\" >XXL banners</option>\n" " <option value=\"sports t-shirt\" >Αθλητικά T-shirts</option>\n" " <option value=\"sport shorts\" >Αθλητικά παντελόνια κοντά/σορτς</option>\n" " <option value=\"sports bag\" >Αθλητικές τσάντες</option>\n" " <option value=\"sports jersey\" >Αθλητικές φανέλες</option>\n" " <option value=\"lighter\" >Αναπτήρες</option>\n" " <option value=\"bottle opener\" >Ανοιχτήρια</option>\n" " <option value=\"cinnamon star\" >Αστέρια κανέλας</option>\n" " <option value=\"NCR paper\" >Αυτογραφικά μπλοκ/σετ</option>\n" " <option value=\"sticky_notes\" >Αυτοκόλλητα χαρτάκια</option>\n" " <option value=\"poster\" >Αφίσες</option>\n" " <option value=\"twin wall poster\" >Αφίσες κυψελωτού φύλλου</option>\n" " <option value=\"printbook\" >Βιβλία</option>\n" " <option value=\"sewn book\" >Βιβλία με συρραφή φύλλων</option>\n" " <option value=\"note book\" >Βιβλία σημειώσεων</option>\n" " <option value=\"wristlet\" >Βραχιολάκια εισόδου</option>\n" " <option value=\"waistcoat\" >Γιλέκα</option>\n" " <option value=\"sports stocking\" >Γκέτες</option>\n" " <option value=\"magazine inkjet\" >Δέσιμο συγκόλλησης (PUR) Oικονομικό</option>\n" " <option value=\"parking disc\" >Δίσκοι στάθμευσης</option>\n" " <option value=\"outdoor banner\" >Διαφημιστικά πλαίσια</option>\n" " <option value=\"folded card\" >Διπλή κάρτα</option>\n" " <option value=\"entrance ticket\" >Εισιτήρια</option>\n" " <option value=\"businesscard\" >Επαγγελματικές κάρτες</option>\n" " <option value=\"letterheads\" >Επιστολόχαρτα</option>\n" " <option value=\"desk calendar\" >Επιτραπέζια ημερολόγια</option>\n" " <option value=\"place mat\" >Επιτραπέζια σετ</option>\n" " <option value=\"place_cards\" >Επιτραπέζιες κάρτες</option>\n" " <option value=\"table_stands\" >Επιτραπέζιες κάρτες</option>\n" " <option value=\"year planner\" >Ετήσια ημερολόγια</option>\n" " <option value=\"label\" >Ετικέτες</option>\n" " <option value=\"tab\" >Ευρετήρια (διαχωριστικά φύλλα)</option>\n" " <option value=\"fruit gum\" >Ζελίνια φρούτων</option>\n" " <option value=\"calendars\" >Ημερολόγια</option>\n" " <option value=\"punched pocket\" >Θήκες από ζελατίνα</option>\n" " <option value=\"slipcase\" >Θήκες βιβλίων</option>\n" " <option value=\"magazine file\" >Θήκες περιοδικών</option>\n" " <option value=\"tablet wallet\" >Θήκες υπολογιστή ταμπλέτα</option>\n" " <option value=\"bonus_cards\" >Κάρτες μπόνους</option>\n" " <option value=\"appointment_cards\" >Κάρτες υπενθύμισης</option>\n" " <option value=\"basecap\" >Καπέλα τζόκεϊ</option>\n" " <option value=\"drop\" >Καραμέλες</option>\n" " <option value=\"postcards\" >Καρτποστάλ</option>\n" " <option value=\"binder\" >Κλασέρ</option>\n" " <option value=\"adhesive film\" >Κολλητικές μεμβράνες</option>\n" " <option value=\"sticky tape\" >Κολλητικές ταινίες πακέτων</option>\n" " <option value=\"keychain\" >Κορδόνια λαιμού</option>\n" " <option value=\"frame\" >Κορνίζες</option>\n" " <option value=\"presentation cases\" >Κουτιά αρχείων</option>\n" " <option value=\"pillow box\" >Κουτιά μαξιλάρια</option>\n" " <option value=\"gable box\" >Κουτιά τσάντες</option>\n" " <option value=\"stretcher frame\" >Λινά υφάσματα</option>\n" " <option value=\"photo stretcher frame\" >Λινά φωτο-υφάσματα</option>\n" " <option value=\"magnetic foil\" >Μαγνητικές μεμβράνες</option>\n" " <option value=\"longsleeves\" >Μακρυμάνικες</option>\n" " <option value=\"gingerbread\" >Μελομακάρονα</option>\n" " <option value=\"backlit film\" >Μεμβράνες για κιβώτιο με φως</option>\n" " <option value=\"menue_cards\" >Μενού</option>\n" " <option value=\"measuring tape\" >Μετροταινίες</option>\n" " <option value=\"month panel calendar\" >Μηνιαία ημερολόγια</option>\n" " <option value=\"pencil\" >Μολύβια</option>\n" " <option value=\"tarpaulin\" >Μουσαμάδες/Πανό</option>\n" " <option value=\"note_pad\" >Μπλοκ</option>\n" " <option value=\"t-shirt\" >Μπλουζάκια</option>\n" " <option value=\"polo shirt\" >Μπλούζες πόλο</option>\n" " <option value=\"bathrobe\" >Μπουρνούζια</option>\n" " <option value=\"jacket\" >Μπουφάν</option>\n" " <option value=\"workwear jacket\" >Μπουφάν εργασίας</option>\n" " <option value=\"keyring pendant\" >Μπρελόκ</option>\n" " <option value=\"folder\" >Ντοσιέ</option>\n" " <option value=\"writing folder\" >Ντοσιέ γραφείου</option>\n" " <option value=\"ring folder\" >Ντοσιέ με κρίκους</option>\n" " <option value=\"ice scraper\" >Ξέστρες πάγου</option>\n" " <option value=\"wine box\" >Οινοκιβώτια</option>\n" " <option value=\"shop counter\" >Πάγκοι προβολής</option>\n" " <option value=\"clipboard\" >Πίνακες σεμιναρίων</option>\n" " <option value=\"gift tag\" >Παντατίφ δώρα</option>\n" " <option value=\"workwear pants\" >Παντελόνια εργασίας</option>\n" " <option value=\"magazine\" >Περιοδικά/Κατάλογοι</option>\n" " <option value=\"towel\" >Πετσέτες</option>\n" " <option value=\"fabric frame\" >Πλαίσια τεντώματος υφασμάτων</option>\n" " <option value=\"plastic card\" >Πλαστικές κάρτες</option>\n" " <option value=\"apron\" >Ποδιές</option>\n" " <option value=\"shirt\" >Πουκάμισα ανδρικά</option>\n" " <option value=\"blouse\" >Πουκάμισα γυναικεία</option>\n" " <option value=\"brochure\" >Προσπέκτους</option>\n" " <option value=\"tuck box\" >Πτυσσόμενα κουτιά</option>\n" " <option value=\"handle box\" >Πτυσσόμενα κουτιά με λαβή μεταφοράς</option>\n" " <option value=\"folding rule\" >Πτυσσόμενα μέτρα</option>\n" " <option value=\"postal box\" >Πτυσσόμενα πλαίσια</option>\n" " <option value=\"chefs jacket\" >Σακάκια μάγειρα</option>\n" " <option value=\"bookmark\" >Σελιδοδείκτες</option>\n" " <option value=\"postit set\" >Σετ σημειώσεων</option>\n" " <option value=\"promotional sign\" >Σημάνσεις/Εκτύπωση επιφανειών</option>\n" " <option value=\"hoisting flag\" >Σημαίες</option>\n" " <option value=\"flags\" >Σημαίες παραλίας</option>\n" " <option value=\"beanie\" >Σκουφιά</option>\n" " <option value=\"chocolate\" >Σοκολάτες</option>\n" " <option value=\"desk_pad\" >Σουμέν γραφείου</option>\n" " <option value=\"stopper\" >Σταντ αφισών</option>\n" " <option value=\"sliding box\" >Συρταρωτά κουτιά</option>\n" " <option value=\"stamp\" >Σφραγίδα</option>\n" " <option value=\"bottle_hanger\" >Ταμπελάκια φιαλών</option>\n" " <option value=\"dextrose\" >Ταμπλέτες γλυκόζης</option>\n" " <option value=\"telescope box\" >Τηλεσκοπικά κουτιά με πτερύγια</option>\n" " <option value=\"bag\" >Τσάντες</option>\n" " <option value=\"fabric banner\" >Υφασμάτινο banners</option>\n" " <option value=\"plug case\" >Φάκελος απο χαρτόνι</option>\n" " <option value=\"flyer\" >Φέιγ βολάν/Δίπτυχα</option>\n" " <option value=\"hoody\" >Φούτερ με κουκούλα</option>\n" " <option value=\"hoody jacket\" >Φούτερ με κουκούλα και φερμουάρ</option>\n" " <option value=\"booklet cd dvd\" >Φυλλάδια CD/DVD</option>\n" " <option value=\"collage\" >Φωτο-κολάζ</option>\n" " <option value=\"puzzle\" >Φωτο-παζλ</option>\n" " <option value=\"door plate\" >Φωτο-ταμπέλες πόρτας</option>\n" " <option value=\"wallpaper\" >Φωτο-ταπετσαρίες</option>\n" " <option value=\"wall picture\" >Φωτο-τοιχογραφίες</option>\n" " <option value=\"cup\" >Φωτο-φλιτζάνια</option>\n" " <option value=\"printing sheet\" >Φύλλα εκτύπωσης</option>\n" " <option value=\"ruler\" >Χάρακες</option>\n" " <option value=\"cd cover\" >Χάρτινα εξώφυλλα CD/DVD</option>\n" " <option value=\"wrapping paper\" >Χαρτιά δώρων</option>\n" " <option value=\"napkin\" >Χαρτοπετσέτες</option>\n" " <option value=\"envelope\" >Χαρτοφάκελοι</option>\n" " <option value=\"waiter_pads\" >μπλοκ σερβιτόρου</option>\n" " <option value=\"brochure wireO\" >σπιράλ βιβλιο</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_format\">c_format</label>\n" " <select id=\"c_format\" name=\"c_format\" onChange=\"submitForm(this);\">\n" " <option value=\"C_37_x_52_mm_DIN-A-9\" >37 x 52 mm DIN A9</option>\n" " <option value=\"C_50_x_20_mm_(abgerundete_Ecken)\" >50 x 20 mm (στρογγυλεμένες γωνίες)</option>\n" " <option value=\"C_52_x_74_mm_DIN-A-8\" >52 x 74 mm DIN A8</option>\n" " <option value=\"C_70_x_25_mm_(abgerundete_Ecken)\" >70 x 25 mm (στρογγυλεμένες γωνίες)</option>\n" " <option value=\"C_74_x_105_mm_DIN-A-7\" selected >74 x 105 mm DIN A7</option>\n" " <option value=\"C_85_x_55_mm\" >85 x 55 mm</option>\n" " <option value=\"C_85_x_55_mm_(abgerundete_Ecken)\" >85 x 55 mm (στρογγυλεμένες γωνίες)</option>\n" " <option value=\"C_98_x_210_mm_DIN_Lang\" >98 x 210 mm DIΝ φαρδύ</option>\n" " <option value=\"C_105_x_148_mm_DIN-A-6\" >105 x 148 mm A6</option>\n" " <option value=\"C_105_x_297_mm_Long-Size\" >105 x 297 mm</option>\n" " <option value=\"C_148_x_210_mm_DIN-A-5\" >148 x 210 mm DIN A5</option>\n" " <option value=\"C_210_x_297_mm_DIN-A-4\" >210 x 297 mm DIN A4</option>\n" " <option value=\"C_297_x_420_mm_DIN-A-3\" >297 x 420 mm DIN A3</option>\n" " <option value=\"C_40_mm_Rund\" >40 mm Στρογγυλό</option>\n" " <option value=\"C_80_mm_Rund\" >80 mm Στρογγυλό</option>\n" " <option value=\"C_145_x_95_mm_Oval\" >145 x 95 mm Οβάλ</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_format_dir\">c_format_dir</label>\n" " <select id=\"c_format_dir\" name=\"c_format_dir\" onChange=\"submitForm(this);\">\n" " <option value=\"C_panel_format\" selected >Κάθετο</option>\n" " <option value=\"C_landscape_format\" >Οριζόντιο</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_paper\">c_paper</label>\n" " <select id=\"c_paper\" name=\"c_paper\" onChange=\"submitForm(this);\">\n" " <option value=\"C_Haft_gloss_permanent_klebend\" selected >Αυτοκόλλητο λευκό χαρτί (κατάλληλο για εσωτερική χρήση)</option>\n" " <option value=\"C_PP-Folie\" >Aυτοκόλλητη μεμβράνη λευκή (κατάλληλη για εξωτερική χρήση)</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_color\">c_color</label>\n" " <select id=\"c_color\" name=\"c_color\" onChange=\"submitForm(this);\">\n" " <option value=\"C_1/0-farbig_Black\" >1/0-χρωμο Μαύρο</option>\n" " <option value=\"C_4/0-farbig_Euroskala\" selected >4/0-χρωμο CMYK</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_processing\">c_processing</label>\n" " <select id=\"c_processing\" name=\"c_processing\" onChange=\"submitForm(this);\">\n" " <option value=\"C_Cutt\" selected >Κοπή</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_finishing\">c_finishing</label>\n" " <select id=\"c_finishing\" name=\"c_finishing\" onChange=\"submitForm(this);\">\n" " <option value=\"C_Ohne_Finishing\" selected >Χωρίς</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"c_finishing_desc\">c_finishing_desc</label>\n" " <select id=\"c_finishing_desc\" name=\"c_finishing_desc\" onChange=\"submitForm(this);\">\n" " <option value=\"C_Ohne_Veredelung\" selected >Χωρίς</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"quantity\">quantity</label>\n" " <select id=\"quantity\" name=\"quantity\" onChange=\"submitForm(this);\">\n" " <option value=\"1_quantity\" selected >1 Τεμάχια</option>\n" " <option value=\"5_quantity\" >5 Τεμάχια</option>\n" " <option value=\"10_quantity\" >10 Τεμάχια</option>\n" " <option value=\"15_quantity\" >15 Τεμάχια</option>\n" " <option value=\"20_quantity\" >20 Τεμάχια</option>\n" " <option value=\"25_quantity\" >25 Τεμάχια</option>\n" " <option value=\"50_quantity\" >50 Τεμάχια</option>\n" " <option value=\"100_quantity\" >100 Τεμάχια</option>\n" " <option value=\"250_quantity\" >250 Τεμάχια</option>\n" " <option value=\"500_quantity\" >500 Τεμάχια</option>\n" " <option value=\"750_quantity\" >750 Τεμάχια</option>\n" " <option value=\"1000_quantity\" >1000 Τεμάχια</option>\n" " <option value=\"1500_quantity\" >1500 Τεμάχια</option>\n" " <option value=\"2000_quantity\" >2000 Τεμάχια</option>\n" " <option value=\"2500_quantity\" >2500 Τεμάχια</option>\n" " <option value=\"5000_quantity\" >5000 Τεμάχια</option>\n" " <option value=\"7500_quantity\" >7500 Τεμάχια</option>\n" " <option value=\"10000_quantity\" >10000 Τεμάχια</option>\n" " <option value=\"15000_quantity\" >15000 Τεμάχια</option>\n" " <option value=\"20000_quantity\" >20000 Τεμάχια</option>\n" " <option value=\"25000_quantity\" >25000 Τεμάχια</option>\n" " <option value=\"30000_quantity\" >30000 Τεμάχια</option>\n" " <option value=\"35000_quantity\" >35000 Τεμάχια</option>\n" " <option value=\"40000_quantity\" >40000 Τεμάχια</option>\n" " <option value=\"45000_quantity\" >45000 Τεμάχια</option>\n" " <option value=\"50000_quantity\" >50000 Τεμάχια</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"packing\">packing</label>\n" " <select id=\"packing\" name=\"packing\" onChange=\"submitForm(this);\">\n" " <option value=\"without_packing\" selected >Χωρίς</option>\n" " </select>\n" " </div>\n" " <div class=\"form-group m-1\">\n" " <label for=\"shipping\">shipping</label>\n" " <select id=\"shipping\" name=\"shipping\" onChange=\"submitForm(this);\">\n" " <option value=\"standard\" selected >Παράδοση Κανονικό έως 30.08.</option>\n" " <option value=\"economy\" >Παράδοση Economy έως 03.09.</option>\n" " <option value=\"express\" >Παράδοση Εξπρές έως 29.08.</option>\n" " <option value=\"priority\" >Παράδοση Προτεραιότητα έως 22.08.</option>\n" " </select>\n" " </div>\n" " </div>\n" " </div>\n" " </div>\n" "</form>\n" "<script>\n" "function submitForm(O) {\n" " var a = document.getElementsByTagName('select');\n" " for (var i = 0; i < a.length; i++) {\n" " if (a[i].selectedIndex == -1 && typeof empty === 'undefined') {\n" " var empty = i;\n" " }\n" " if (a[i].name == O.name) {\n" " var current = i;\n" " }\n" " }\n" " var del = empty < current ? empty : current;\n" " for (var i = 0; i < a.length; i++) {\n" " if (i > del) {\n" " a[i].selectedIndex = -1;\n" " }\n" " }\n" " document.catalogue.submit();\n" "}\n" "</script> \n\n" "<!-- Optional JavaScript --> \n" "<!-- jQuery first, then Popper.js, then Bootstrap JS --> \n" "<script src=\"https://code.jquery.com/jquery-3.3.1.slim.min.js\" integrity=\"sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo\" crossorigin=\"anonymous\"></script> \n" "<script src=\"https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js\" integrity=\"sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1\" crossorigin=\"anonymous\"></script> \n" "<script src=\"https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js\" integrity=\"sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM\" crossorigin=\"anonymous\"></script>\n" "</body>") matches = re.finditer(regex, test_str) 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