Regular Expressions 101

Save & Share

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

Substitution

Processing...

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 = "((Zaterdag:|Zondag:|Maandag:|Dinsdag:|Woensdag:|Donderdag:)(.*)(van))"; final String string = "<rss version=\"2.0\" xmlns:content=\"http://purl.org/rss/1.0/modules/content/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" xmlns:trackback=\"http://madskills.com/public/xml/rss/module/trackback/\">\n" + "<channel>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<link>\n" + " \n" + " </link>\n" + "<description>\n" + " \n" + " </description>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "b868a570dc279299d528934c2dd48c72\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Thomas Rosenboom - Aanvallend spel van €7,99 voor €1,98\n" + "Zondag: Renske de Greef - Vraagstukken van €7,99 voor €1,98\n" + "Maandag: Yolanda Entius - Alleen voor helden van €9,99 voor €1,98\n" + "Dinsdag: Ronald Prud'homme van Reine - Liever niet de lucht in van €11,99 voor €2,99\n" + "Woensdag: Steven van de Vijver - Afrika is besmettelijk van €7,99 voor €1,98\n" + "Donderdag: H.W. Pleket - Alleen de beste van €15,99 voor €2,99\n\n" + "En de deal van vandaag: Peter Sagan, schets van een alleskunner van Lidewey van Noord voor maar €2,99!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.671786+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "db27cb4c4698a27f96e9c01bb68004bb\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Herman Clerinx - Een paleis voor de doden van €12,99 voor €2,99\n" + "Zondag: Corry Brokken - Toegift van €9,99 voor €1,98\n" + "Maandag: K. Schippers - Zilah van €7,99 voor €1,98\n" + "Dinsdag: Michael Minneboo - Mijn vriend Spider-Man van €11,99 voor €2,99\n" + "Woensdag: Judit Neuring - De bange stad van €9,99 voor €1,98\n" + "Donderdag: Luc Coorevits - Aanbevelingen voor een nog beter leven van €7,99 voor €1,98\n\n" + "En de deal van vandaag: Van kleine helden van Richard de Nooy voor maar €2,99!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.672332+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "6aa73a9799c9574ec6409a2cf7eaf5af\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Toon Tellegen - Het voornemen van de muis van €9,99 voor €1,98\n" + "Zondag: Michiel en Suse van Kleef - Rechtspraak is mensenwerk van €9,99 voor €1,98\n" + "Maandag: Ilja Leonard Pfeijffer - Second life van €7,99 voor €1,98\n" + "Dinsdag: Iris Pronk - Waarom ik geen strenge moeder ben van €7,99 voor €1,98\n" + "Woensdag: Ton van Dijk - Sterke verhalen van €9,99 voor €1,98\n" + "Donderdag: Claire Polders - Salto mortale van €15,99 voor €2,99\n\n" + "En de deal van vandaag, speciaal voor alle wielerfanaten: Op de helling van Boudewijn Smid voor maar €1,98!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.672927+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "60756d1565299438c6b06ad58b766f7a\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Emily Kocken - De kuur van €11,99 voor €2,99\n" + "Zondag: Rinke van den Brink - Het einde van de antibiotica van €7,99 voor €1,98\n" + "Maandag: Marietje d'Hane Scheltema - Alles altijd anders van €9,99 voor €1,98\n" + "Dinsdag: V.A. - Van de ballen verstand van €9,99 voor €1,98\n" + "Woensdag: Annelies Beck - Over het kanaal van €7,99 voor €1,98\n" + "Donderdag: Sjon Hauser - Mekong van €9,99 voor €1,98\n\n" + "En de deal van vandaag: Zes sterren van Joost Zwagerman voor maar €1,98!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.673487+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "7c7f17fc49ad4a033bbd2be9e0a5948a\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Renske Jonkman - Zo gaan we niet met elkaar om van €7,99 voor €1,98\n" + "Zondag: Luc Verhuyck - Venezia van €9,99 voor €1,98\n" + "Maandag: Martine Kamphuis - Ziek van €7,99 voor €1,98\n" + "Dinsdag: Bernard Wesseling - Gezelschapsjongen van €10,99 voor €2,99\n" + "Woensdag: Martin Hendriksma - Lutine van €7,99 voor €1,98\n" + "Donderdag: Willem Wilmink - Zelfportret in brieven van €9,99 voor €1,98\n\n" + "En de deal van vandaag: Spijkerschrift van Kader Abdolah voor maar €2,99!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.674015+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "6b4436c64eee1850ed0b289030f8af37\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Laurie Langenbach - Brieven, dagboeken en een geheime liefde van €12,99 voor €2,99\n" + "Zondag: Derwent Christmas - Twee tranen van €7,99 voor €1,98\n" + "Maandag: Pepijn Vloemans - Wat hebben we weer genoten van €9,99 voor €1,98\n" + "Dinsdag: Ben van der Velden - Eerlijke bedriegers van €9,99 voor €1,98\n" + "Woensdag: Herman van Veen - Voor ik het vergeet van €7,99 voor €1,98\n" + "Donderdag: Jan-Willem Anker - Vichy van €11,99 voor €2,99\n\n" + "En de deal van vandaag: M, het zinderende slotstuk van de Morten-trilogie van Anna Levander, voor maar €2,99\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.674596+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "ec25888c46935f115c3437e0cf9aac00\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Timo van Barneveld & Arnout Janmaat - Meisje zoekt meisje van €8,99 voor €1,98\n" + "Zondag: Herman Leenders - God speelt drieband van €11,99 voor €2,99\n" + "Maandag: Ted van Lieshout - Schuldig kind van €1,99 voor €2,99\n" + "Dinsdag: Multatuli - Woutertje Pieterse van €7,99 voor €1,98\n" + "Woensdag: Rina Mae Acosta & Michele Hutchinson - De gelukkigste kinderen van de wereld van €11,99 voor €2,99\n" + "Donderdag: Josine Marbus - Waar je ook heen gaat van €14,99 voor €2,99\n\n" + "En de deal van vandaag: Het meisje met het rode haar van Theun de Vries, voor maar €1,98!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.67514+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "cb0e36c44b914eda2d276434f7986de1\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Kristien Hemmerechts - De vrouw die de honden te eten gaf van €9,99 voor €1,98\n" + "Zondag: Lars Anderson - Sterke vaders van €4,99 voor €1,98\n" + "Maandag: Marja Pruis - Atoomgeheimen van €7,99 voor €1,98\n" + "Dinsdag: Joke van Leeuwen - De onervarenen van €9,99 voor €1,98\n" + "Woensdag: Stijn Fens - Vaticanië van €7,99 voor €1,98\n" + "Donderdag:Karin Spaink - Vallende vrouw van €9,99 voor €1,98\n\n" + "En de deal van vandaag: De Bijbel voor ongelovigen, deel 3 van Guus Kuijer, voor maar €1,98!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.675701+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "4ab542ecde972b361b10aad01a1e8719\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Vandaag: Eveline Stoel - Asta's ogen van €7,99 voor €1,98\n" + "Morgen: Herman Chevrolet - Het mysterie van de eerste gele trui van €9,99 voor €1,98\n" + "Maandag: Jan Bloemendal - Latijn van €14,99 voor €2,99\n" + "Dinsdag: Ru de Groen - Zonen van De Farao van €11,99 voor €2,99\n" + "Woensdag: Matthijs van Boxsel - De draagbare encyclopedie van de domheid van €12,99 voor €2,99\n" + "Donderdag: Louis Paul Boon - Mijn kleine oorlog van €7,99 voor €1,98\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.676224+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<item>\n" + "<title>\n" + "Extracted Content\n" + " </title>\n" + "<pubDate>\n" + "Sat, 05 Aug 2017 07:59:12 +0000\n" + " </pubDate>\n" + "<guid>\n" + "1627718ca1c18e8f083b1679290a8438\n" + " </guid>\n" + "<content:encoded>\n" + "Speciaal voor jou hebben we de aanbiedingen van de komende zes dagen op een rijtje gezet. Wees er op tijd bij: ze zijn maar 1 dag zo goedkoop!\n\n" + "Zaterdag: Mirjam Rotenstreich - De stalkster van €9,99 voor €1,98\n" + "Zondag: Sara van Duijn - Alles is biologie van €9,99 voor €1,98\n" + "Maandag: Frank de Kruif - Het havenschandaal van €9,99 voor €1,98\n" + "Dinsdag: Henk van der Waal - Mystiek voor goddelozen van €12,99 voor €2,99\n" + "Woensdag: Drs. P - Troika hier, troika daar van €11,99 voor €2,99\n" + "Donderdag: Mik Schots - Ajax - Feyenoord van €9,99 voor €1,98\n\n" + "En, niet te missen, de deal van vandaag: je koopt vandaag Het tweede bestand van Arnon Grunberg voor maar €1,98!\n\n" + "PS: wil je een dagelijkse herinnering aan de dagdeal? Volg ons op Facebook of Twitter!\n" + " </content:encoded>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.676758+00:00\n" + " </dc:date>\n\n" + " \n" + " </item>\n" + "<dc:date>\n" + "2017-08-05T07:59:12.671066+00:00\n" + " </dc:date>\n\n" + " \n" + " </channel>\n\n" + " </rss>"; final String subst = "\\2 \\3<a \\3 href=\"http://ezelsoren.netne.net/searchBoeken/searchBoeken.html?q=\\3\">\\3</a>"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + 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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html