Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

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

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r#"(?m)"(\S+)", "#).unwrap(); let string = "\"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\" "; let substitution = "$1\\n"; // result will be a String with the substituted value let result = regex.replace_all(string, substitution); println!("{}", 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 Rust, please visit: https://docs.rs/regex/latest/regex/