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

/
/
mg

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 = "<figure[^>]*>([\\t\\n\\r\\s]*)<figcaption[^>]*>(.*)<\\/figcaption>([\\t\\n\\r\\s]*)<audio[^>]*>(([\\t\\n\\r\\s]|.)*)<\\/audio>([\\t\\n\\r\\s]*)<\\/figure>"; final String string = "<!-- Une simple image -->\n" + "<figure>\n" + " <img\n" + " src=\"https://developer.mozilla.org/static/img/favicon144.png\"\n" + " alt=\"Le logo de MDN.\">\n" + "</figure>\n\n" + "<!-- Une image avec une légende -->\n" + "<figure>\n" + " <img\n" + " src=\"https://developer.mozilla.org/static/img/favicon144.png\"\n" + " alt=\"Le logo de MDN.\">\n" + " <figcaption>Logo MDN</figcaption>\n" + "</figure>\n" + "<figure>\n" + " <figcaption>Obtenir les détails du navigateur</figcaption>\n" + " <pre>\n" + " function NavigatorExample(){\n" + " let txt;\n" + " txt = \"Nom de code: \" + navigator.appCodeName;\n" + " txt += \"Nom du navigateur : \" + navigator.appName;\n" + " txt += \"Version : \" + navigator.appVersion ;\n" + " txt += \"Cookies activés : \" + navigator.cookieEnabled;\n" + " txt += \"Plate-forme: \" + navigator.platform;\n" + " txt += \"En-tête d'agent utilisateur : \" + navigator.userAgent;\n" + " console.log(\"NavigatorExample\", txt);\n" + " }\n" + " </pre>\n" + "</figure>\n" + "<figure>\n" + " <figcaption>\n" + " <cite>Edsger Dijkstra : </cite>\n" + " </figcaption>\n" + " <p>« Si le débogage correspond au retrait de bogues,\n" + " alors la programmation correspond à l'ajout de bogues. »\n" + " </p>\n" + "</figure>\n" + "<figure style=\"display:table; margin:0 auto;\">\n" + "<img loading=\"lazy\" src=\"/public/illustrations/2021/.grole_u.jpg\" alt=\"Grole abandonnée sur les rochers, août 2021\" title=\"Grole abandonnée sur les rochers, août 2021\" height=\"600\" width=\"600\" class=\"a42-ac-replace-img\">\n" + "<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>\n" + "</figure>\n\n" + "<figure style=\"display:table; margin:0 auto;\">\n" + "<a href=\"#\">\n" + "<img loading=\"lazy\" src=\"/public/illustrations/2021/.grole_u.jpg\" alt=\"Grole abandonnée sur les rochers, août 2021\" title=\"Grole abandonnée sur les rochers, août 2021\" height=\"600\" width=\"600\" class=\"a42-ac-replace-img\">\n" + "</a>\n" + "<figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption>\n" + "</figure>\n\n" + "<figure style=\"display:table; margin:0 auto;\"><a href=\"#\"><img loading=\"lazy\" src=\"/public/illustrations/2021/.grole_u.jpg\" alt=\"Grole abandonnée sur les rochers, août 2021\" title=\"Grole abandonnée sur les rochers, août 2021\" height=\"600\" width=\"600\" class=\"a42-ac-replace-img\"></a><figcaption>Grole abandonnée sur les rochers du petit port de Pen-Hors</figcaption></figure>\n\n" + "<figure>\n" + " <figcaption>Listen to the T-Rex:</figcaption>\n" + " <audio\n" + " controls\n" + " src=\"/media/cc0-audio/t-rex-roar.mp3\">\n" + " Your browser does not support the\n" + " <code>audio</code> element.\n" + " </audio>\n" + "</figure>\n"; final String subst = ""; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); 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