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

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "<label for=\".*\">(.*)<\\/label>"; final String string = "<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>"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); while (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