Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
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
Processing...

Test String

Substitution
Processing...

Code Generator

Generated Code

use strict; my $str = '"højtærede", "rimstad", "mill", "beh", "weikop", "udskrivn", "wetlesen", "gottschalck", "westerby", "magnussens", "asmussen", "bækgaard", "dupont", "diderichsen", "moltke", "henry", "sigsgaard", "haunstrup", "bundgård", "reintoft", "lysholt", "grünbaum", "andresen", "fremskridtspartiet", "fremskridtspartiets", "langkilde", "maigaard", "skovmand", "bendix", "valbak", "brauer", "lütken", "amagerby", "flygaard", "lindholt", "fp", "dkp", "ingomar", "glensgård", "erlendsson", "nørlund", "lovf", "maisted", "honoré", "tyroll", "hjortlund", "waldorff", "uwe", "askjær", "dræbye", "nymann", "kalnæs", "bolvig", "cd", "tinning", "ingerlise", "holmsgård", "maisted", "bentsen", "lenger", "lilli", "arentoft", "birkholm", "albrechtsen", "fd", "gyldenkilde", "thoft", "riishøj", "dohrmann", "fk", "glønborg", "tved", "berlau", "sf’s", "mio", "oksen", "lee", "lysholm", "behnke", "køpke", "pia", "nødgaard", "donner", "brusgaard", "duetoft", "aaen", "hindrup", "jerup", "keld", "kolstrup", "skaarup", "frahm", "df", "sjursen", "fransgaards", "buksti", "thulesen", "barfod", "søvndal", "rosenkrantz", "kd", "messerschmidt", "arbo", "bæhr", "langballe", "vestager", "rune", "dyrby", "bøgsted", "frahm", "ammitzbøll", "harpsøe", "yildiz", "alexandrines", "tidenden", "schj", "statsbanepersonalets", "statsbanepersonale", "statsbanepersonalet", "ødt", "oeec", "enhedstelefon", "pålign", "enhedstelefon", "enhedstelefoner", "politikasserne", "politikassen", "politikasse", "politikassernes", "skræppenborg", "lærermangelen", "lærermangel", "baagø", "saunte", "edel", "omsætningsskatten", "omsætningsskat", "vivike", "mining", "helligdagslov", "fortsættelsessygekasse", "fortsættelsessygekasser", "fortsættelsessygekasserne", "fortsættelsessygekassernes", "grundstigningsskylden", "grundstigningsskyld", "retoft", "kornordning", "kornordningen", "kornordninger", "hauch", "kasseoverskud", "kasseoverskuddet", "uafhængiges", "uafhængige", "uafhængig", "kreditstramningen", "kreditstramninger", "kreditstramning", "skattefradragsreglen", "skattefradragsregler", "skattefradragsregel", "tatovering", "tatoveringer", "tatoveringen", "tatovere", "tatoverer", "meroms", "bladt", "brødkornsordning", "brødkornsordninger", "brødkornsordningen", "centrums", "antonsen", "guldberg", "merværdiafgiften", "merværdiafgift", "merværdiafgifter", "boligsikringsordningen", "boligsikringsordning", "boligsikringsordninger", "boligsikringsordningerne", "meromsen", "boligforlig", "boligforliget", "boligforliger", "devalueringen", "devaluering", "devalueringer", "devalueringerne", "handelsministeren", "handelsminister", "ømann", "engangsskat", "engangsskatter", "engangsskatten", "clemmensen", "hilmar", "biafra", "nordvietnam", "sydamager", "amtoft", "storlufthavn", "storlufthavnen", "storlufthavne", "kildeskat", "kildeskatten", "kildeskattens", "kildeskatter", "czekoslovakiet", "beslutn", "nordek", "leroy", "markedsminister", "markedsministeren", "markedsministerens", "reintofts", "ændr", "pristop", "prisstoppet", "prisstoppets", "gæstearbej", "budgetministerens", "budgetministeren", "budgetminister", "importafgift", "importafgiftens", "importafgiften", "importafgifter", "dich", "fr.borg", "markedssekretariatet", "markedssekretariatets", "martet", "nordqvist", "rohrsted", "gudme", "bracher", "glistrup", "heltberg", "bové", "retsforbundet", "retsforbundets", "boeg", "westergaard", "krf", "ritta", "edele", "kristine", "bjergegaard", "freddy", "rosk", "wilhjelm", "tindemans", "augustforlig", "augustforliget", "augustforligets", "augustforligspartierne", "augustforligspartiernes", "junior", "statsmin.s", "martinez", "stjernholm", "schak", "kallesøe", "industriminister", "industriministeren", "industriministerens", "poulsgaard", "rahbæk", "lawaetz", "socialindkomst", "socialindkomsten", "socialindkomster", "johannesskolen", "d.o.n.g", "thorndahl", "hagensen", "alfred", "vs", "stubkjær", "agerschou", "pelle", "kindberg", "voigt", "dobbeltbeslutning", "dobbeltbeslutningen", "dobbeltbeslutninger", "faber", "sdi", "fofa", "jobskabelsesloven", "gasammunition", "brøndsted", "birgith", "karensdagen", "karensdag", "karensdage", "miljøminister", "miljøministeren", "miljøministerens", "kjærsgaard", "skrumsager", "sundhedsminister", "sundhedsministeren", "sundhedsministerens", "kommunikationsminister", "kommunikationsministeren", "kommunikationsministerens", "sf’s", "skatteministeren", "skatteminister", "skatteministerens", "noer", "elvensø", "jane", "henvisningsoversigt", "henvisningsoversigten", "henvisningsoversigtens", "henvisningsoversigterne", "henvisningsoversigternes", "kofod", "pernille", "lundholt", "husmark", "cd’s", "annette", "sams", "enhedslisten", "erhvervsminister", "erhvervsministeren", "erhvervsministerens", "bruno", "eu", "eu’s", "enhedslistens", "gottlieb", "co2", "regeringskonferencen", "regeringskonferencens", "regeringskonference", "baastrup", "amsterdamtraktaten", "fødevareminister", "fødevareministeren", "fødevareministerens", "vækstfremmere", "schengen", "euroen", "sohn", "jahn", "fransgaard", "kosovo", "jamen", "nicetraktaten", "anni", "beskæftigelsesminister", "beskæftigelsesministeren", "beskæftigelsesministerens", "kristendemokraterne", "kristendemokraternes", "kristendemokrater", "integrationsminister", "integrationsministeren", "integrationsministerens", "theil", "02", "03", "sandy", "brinck", "04", "frevert", "homann", "theil", "skattestop", "skattestoppet", "skattestoppets", "forbrugerminister", "forbrugerministeren", "forbrugerministerens", "wedell", "lidegaard", "baastrup", "majbrit", "glahn", "hedeboe", "niebuhr", "gjerskov", "geday", "charlotte", "velfærdsminister", "velfærdsministeren", "velfærdministerens", "lissabontraktaten", "naser", "sophie", "khader", "ufg", "hæstorp", "prehn", "akdogan", "vibjerg", "legarth", "lahn", "bonnesen", "klint" '; my $regex = qr/"(\S+)", /mp; my $subst = '$1\\n'; my $result = $str =~ s/$regex/$subst/rg; print "The result of the substitution is' $result\n";

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 Perl, please visit: http://perldoc.perl.org/perlre.html