Regular Expressions 101

Save & Share

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

/
/
gmi

Test String

Code Generator

Generated Code

use strict; my $str = 'Part Number;FLASH Size (kB) (Prog);Internal RAM Size (kB) STM32F030C6;32;4 STM32F030C8;64;8 STM32F030CC;256;32 STM32F030F4;16;4 STM32F030K6;32;4 STM32F030R8;64;8 STM32F030RC;256;32 STM32F031C4;16;4 STM32F031C6;32;4 STM32F031E6;32;4 STM32F031F4;16;4 STM32F031F6;32;4 STM32F031G4;16;4 STM32F031G6;32;4 STM32F031K4;16;4 STM32F031K6;32;4 STM32F038C6;32;4 STM32F038E6;32;4 STM32F038F6;32;4 STM32F038G6;32;4 STM32F038K6;32;4 STM32F042C4;16;6 STM32F042C6;32;6 STM32F042F4;16;6 STM32F042F6;32;6 STM32F042G4;16;6 STM32F042G6;32;6 STM32F042K4;16;6 STM32F042K6;32;6 STM32F042T6;32;6 STM32F048C6;32;6 STM32F048G6;32;6 STM32F048T6;32;6 STM32F051C4;16;8 STM32F051C6;32;8 STM32F051C8;64;8 STM32F051K4;16;8 STM32F051K6;32;8 STM32F051K8;64;8 STM32F051R4;16;8 STM32F051R6;32;8 STM32F051R8;64;8 STM32F051T8;64;8 STM32F058C8;64;8 STM32F058R8;64;8 STM32F058T8;64;8 STM32F070C6;32;6 STM32F070CB;128;16 STM32F070F6;32;6 STM32F070RB;128;16 STM32F071CB;128;16 STM32F071RB;128;16 STM32F071V8;64;16 STM32F071VB;128;16 STM32F072C8;64;16 STM32F072CB;128;16 STM32F072R8;64;16 STM32F072RB;128;16 STM32F072V8;64;16 STM32F072VB;128;16 STM32F078CB;128;16 STM32F078RB;128;16 STM32F078VB;128;16 STM32F091CB;128;32 STM32F091CC;256;32 STM32F091RB;128;32 STM32F091RC;256;32 STM32F091VB;128;32 STM32F091VC;256;32 STM32F098CC;256;32 STM32F098RC;256;32 STM32F098VC;256;32 STM32F100C4;16;4 STM32F100C6;32;4 STM32F100C8;64;8 STM32F100CB;128;8 STM32F100R4;16;4 STM32F100R6;32;4 STM32F100R8;64;8 STM32F100RB;128;8 STM32F100RC;256;24 STM32F100RD;384;32 STM32F100RE;512;32 STM32F100V8;64;8 STM32F100VB;128;8 STM32F100VC;256;24 STM32F100VD;384;32 STM32F100VE;512;32 STM32F100ZC;256;24 STM32F100ZD;384;32 STM32F100ZE;512;32 STM32F101C6;32;6 STM32F101C8;64;10 STM32F101CB;128;16 STM32F101R4;16;4 STM32F101R6;32;6 STM32F101R8;64;10 STM32F101RB;128;16 STM32F101RC;256;32 STM32F101RD;384;48 STM32F101RE;512;48 STM32F101RF;768;80 STM32F101RG;1024;80 STM32F101T4;16;4 STM32F101T6;32;6 STM32F101T8;64;10 STM32F101TB;128;16 STM32F101V8;64;10 STM32F101VB;128;16 STM32F101VC;256;32 STM32F101VD;384;48 STM32F101VE;512;48 STM32F101VF;768;80 STM32F101VG;1024;80 STM32F101ZC;256;32 STM32F101ZD;384;48 STM32F101ZE;512;48 STM32F101ZF;768;80 STM32F101ZG;1024;80 STM32F102C4;16;4 STM32F102C6;32;6 STM32F102C8;64;10 STM32F102CB;128;16 STM32F102R4;16;4 STM32F102R6;32;6 STM32F102R8;64;10 STM32F102RB;128;16 STM32F103C4;16;6 STM32F103C6;32;10 STM32F103C8;64;20 STM32F103CB;128;20 STM32F103R4;16;6 STM32F103R6;32;10 STM32F103R8;64;20 STM32F103RB;128;20 STM32F103RC;256;48 STM32F103RD;384;64 STM32F103RE;512;64 STM32F103RF;768;96 STM32F103RG;1024;96 STM32F103T4;16;6 STM32F103T6;32;10 STM32F103T8;64;20 STM32F103TB;128;20 STM32F103V8;64;20 STM32F103VB;128;20 STM32F103VC;256;48 STM32F103VD;384;64 STM32F103VE;512;64 STM32F103VF;768;96 STM32F103VG;1024;96 STM32F103ZC;256;48 STM32F103ZD;384;64 STM32F103ZE;512;64 STM32F103ZF;768;96 STM32F103ZG;1024;96 STM32F105R8;64;64 STM32F105RB;128;64 STM32F105RC;256;64 STM32F105V8;64;64 STM32F105VB;128;64 STM32F105VC;256;64 STM32F107RB;128;64 STM32F107RC;256;64 STM32F107VB;128;64 STM32F107VC;256;64 STM32F205RB;128;64 STM32F205RC;256;96 STM32F205RE;512;128 STM32F205RF;768;128 STM32F205RG;1024;128 STM32F205VB;128;64 STM32F205VC;256;96 STM32F205VE;512;128 STM32F205VF;768;128 STM32F205VG;1024;128 STM32F205ZC;256;96 STM32F205ZE;512;128 STM32F205ZF;768;128 STM32F205ZG;1024;128 STM32F207IC;256;128 STM32F207IE;512;128 STM32F207IF;768;128 STM32F207IG;1024;128 STM32F207VC;256;128 STM32F207VE;512;128 STM32F207VF;768;128 STM32F207VG;1024;128 STM32F207ZC;256;128 STM32F207ZE;512;128 STM32F207ZF;768;128 STM32F207ZG;1024;128 STM32F215RE;512;128 STM32F215RG;1024;128 STM32F215VE;512;128 STM32F215VG;1024;128 STM32F215ZE;512;128 STM32F215ZG;1024;128 STM32F217IE;512;128 STM32F217IG;1024;128 STM32F217VE;512;128 STM32F217VG;1024;128 STM32F217ZE;512;128 STM32F217ZG;1024;128 STM32F301C6;32;16 STM32F301C8;64;16 STM32F301K6;32;16 STM32F301K8;64;16 STM32F301R6;32;16 STM32F301R8;64;16 STM32F302C6;32;16 STM32F302C8;64;16 STM32F302CB;128;32 STM32F302CC;256;40 STM32F302K6;32;16 STM32F302K8;64;16 STM32F302R6;32;16 STM32F302R8;64;16 STM32F302RB;128;32 STM32F302RC;256;40 STM32F302RD;384;64 STM32F302RE;512;64 STM32F302VB;128;32 STM32F302VC;256;40 STM32F302VD;384;64 STM32F302VE;512;64 STM32F302ZD;384;64 STM32F302ZE;512;64 STM32F303C6;32;16 STM32F303C8;64;16 STM32F303CB;128;40 STM32F303CC;256;48 STM32F303K6;32;16 STM32F303K8;64;16 STM32F303R6;32;16 STM32F303R8;64;16 STM32F303RB;128;40 STM32F303RC;256;48 STM32F303RD;384;80 STM32F303RE;512;80 STM32F303VB;128;40 STM32F303VC;256;48 STM32F303VD;384;80 STM32F303VE;512;80 STM32F303ZD;384;80 STM32F303ZE;512;80 STM32F318C8;64;16 STM32F318K8;64;16 STM32F328C8;64;16 STM32F334C4;16;16 STM32F334C6;32;16 STM32F334C8;64;16 STM32F334K4;16;16 STM32F334K6;32;16 STM32F334K8;64;16 STM32F334R6;32;16 STM32F334R8;64;16 STM32F358CC;256;48 STM32F358RC;256;48 STM32F358VC;256;48 STM32F373C8;64;16 STM32F373CB;128;24 STM32F373CC;256;32 STM32F373R8;64;16 STM32F373RB;128;24 STM32F373RC;256;32 STM32F373V8;64;16 STM32F373VB;128;24 STM32F373VC;256;32 STM32F378CC;256;32 STM32F378RC;256;32 STM32F378VC;256;32 STM32F398VE;512;80 STM32F401CB;128;64 STM32F401CC;256;64 STM32F401CD;384;96 STM32F401CE;512;96 STM32F401RB;128;64 STM32F401RC;256;64 STM32F401RD;384;96 STM32F401RE;512;96 STM32F401VB;128;64 STM32F401VC;256;64 STM32F401VD;384;96 STM32F401VE;512;96 STM32F405OE;512;192 STM32F405OG;1024;192 STM32F405RG;1024;192 STM32F405VG;1024;192 STM32F405ZG;1024;192 STM32F407IE;512;192 STM32F407IG;1024;192 STM32F407VE;512;192 STM32F407VG;1024;192 STM32F407ZE;512;192 STM32F407ZG;1024;192 STM32F410C8;64;32 STM32F410CB;128;32 STM32F410R8;64;32 STM32F410RB;128;32 STM32F410T8;64;32 STM32F410TB;128;32 STM32F411CC;256;128 STM32F411CE;512;128 STM32F411RC;256;128 STM32F411RE;512;128 STM32F411VC;256;128 STM32F411VE;512;128 STM32F412CG;1024;256 STM32F412RG;1024;256 STM32F412VG;1024;256 STM32F412ZG;1024;256 STM32F415OG;1024;192 STM32F415RG;1024;192 STM32F415VG;1024;192 STM32F415ZG;1024;192 STM32F417IE;512;192 STM32F417IG;1024;192 STM32F417VE;512;192 STM32F417VG;1024;192 STM32F417ZE;512;192 STM32F417ZG;1024;192 STM32F427AG;1024;256 STM32F427AI;2048;256 STM32F427IG;1024;256 STM32F427II;2048;256 STM32F427VG;1024;256 STM32F427VI;2048;256 STM32F427ZG;1024;256 STM32F427ZI;2048;256 STM32F429AG;1024;256 STM32F429AI;2048;256 STM32F429BE;512;256 STM32F429BG;1024;256 STM32F429BI;2048;256 STM32F429IE;512;256 STM32F429IG;1024;256 STM32F429II;2048;256 STM32F429NE;512;256 STM32F429NG;1024;256 STM32F429NI;2048;256 STM32F429VE;512;256 STM32F429VG;1024;256 STM32F429VI;2048;256 STM32F429ZE;512;256 STM32F429ZG;1024;256 STM32F429ZI;2048;256 STM32F437AI;2048;256 STM32F437IG;1024;256 STM32F437II;2048;256 STM32F437VG;1024;256 STM32F437VI;2048;256 STM32F437ZG;1024;256 STM32F437ZI;2048;256 STM32F439AI;2048;256 STM32F439BG;1024;256 STM32F439BI;2048;256 STM32F439IG;1024;256 STM32F439II;2048;256 STM32F439NG;1024;256 STM32F439NI;2048;256 STM32F439VG;1024;256 STM32F439VI;2048;256 STM32F439ZG;1024;256 STM32F439ZI;2048;256 STM32F446MC;256;128 STM32F446ME;512;128 STM32F446RC;256;128 STM32F446RE;512;128 STM32F446VC;256;128 STM32F446VE;512;128 STM32F446ZC;256;128 STM32F446ZE;512;128 STM32F469AE;512;384 STM32F469AG;1024;384 STM32F469AI;2048;384 STM32F469BE;512;384 STM32F469BG;1024;384 STM32F469BI;2048;384 STM32F469IE;512;384 STM32F469IG;1024;384 STM32F469II;2048;384 STM32F469NE;512;384 STM32F469NG;1024;384 STM32F469NI;2048;384 STM32F479AG;1024;384 STM32F479AI;2048;384 STM32F479BG;1024;384 STM32F479BI;2048;384 STM32F479IG;1024;384 STM32F479II;2048;384 STM32F479NG;1024;384 STM32F479NI;2048;384 STM32F745IE;512;320 STM32F745IG;1024;320 STM32F745VE;512;320 STM32F745VG;1024;320 STM32F745ZE;512;320 STM32F745ZG;1024;320 STM32F746BE;512;320 STM32F746BG;1024;320 STM32F746IE;512;320 STM32F746IG;1024;320 STM32F746NE;512;320 STM32F746NG;1024;320 STM32F746VE;512;320 STM32F746VG;1024;320 STM32F746ZE;512;320 STM32F746ZG;1024;320 STM32F756BG;1024;320 STM32F756IG;1024;320 STM32F756NG;1024;320 STM32F756VG;1024;320 STM32F756ZG;1024;320 STM32F765BG;1024;512 STM32F765BI;2048;512 STM32F765IG;1024;512 STM32F765II;2048;512 STM32F765NG;1024;512 STM32F765NI;2048;512 STM32F765VG;1024;512 STM32F765VI;2048;512 STM32F765ZG;1024;512 STM32F765ZI;2048;512 STM32F767BG;1024;512 STM32F767IG;1024;512 STM32F767II;2048;512 STM32F767NG;1024;512 STM32F767NI;2048;512 STM32F767VG;1024;512 STM32F767VI;2048;512 STM32F767ZG;1024;512 STM32F767ZI;2048;512 STM32F769AI;2048;512 STM32F769BG;1024;512 STM32F769BI;2048;512 STM32F769IG;1024;512 STM32F769II;2048;512 STM32F769NG;1024;512 STM32F769NI;2048;512 STM32F777BI;2048;512 STM32F777II;2048;512 STM32F777NI;2048;512 STM32F777VI;2048;512 STM32F777ZI;2048;512 STM32F778AI;2048;512 STM32F779AI;2048;512 STM32F779BI;2048;512 STM32F779II;2048;512 STM32F779NI;2048;512 STM32L011D3;8;2 STM32L011D4;16;2 STM32L011E3;8;2 STM32L011E4;16;2 STM32L011F3;8;2 STM32L011F4;16;2 STM32L011G3;8;2 STM32L011G4;16;2 STM32L011K3;8;2 STM32L011K4;16;2 STM32L021D4;16;2 STM32L021F4;16;2 STM32L021G4;16;2 STM32L021K4;16;2 STM32L031C4;16;8 STM32L031C6;32;8 STM32L031E4;16;8 STM32L031E6;32;8 STM32L031F4;16;8 STM32L031F6;32;8 STM32L031G4;16;8 STM32L031G6;32;8 STM32L031K4;16;8 STM32L031K6;32;8 STM32L041C6;32;8 STM32L041F6;32;8 STM32L041G6;32;8 STM32L041K6;32;8 STM32L051C6;32;8 STM32L051C8;64;8 STM32L051K6;32;8 STM32L051K8;64;8 STM32L051R6;32;8 STM32L051R8;64;8 STM32L051T6;32;8 STM32L051T8;64;8 STM32L052C6;32;8 STM32L052C8;64;8 STM32L052K6;32;8 STM32L052K8;64;8 STM32L052R6;32;8 STM32L052R8;64;8 STM32L052T6;32;8 STM32L052T8;64;8 STM32L053C6;32;8 STM32L053C8;64;8 STM32L053R6;32;8 STM32L053R8;64;8 STM32L062K8;64;8 STM32L063C8;64;8 STM32L063R8;64;8 STM32L071C8;64;20 STM32L071CB;128;20 STM32L071CZ;192;20 STM32L071K8;64;20 STM32L071KB;128;20 STM32L071KZ;192;20 STM32L071RB;128;20 STM32L071RZ;192;20 STM32L071V8;64;20 STM32L071VB;128;20 STM32L071VZ;192;20 STM32L072CB;128;20 STM32L072KB;128;20 STM32L072KZ;192;20 STM32L072RB;128;20 STM32L072RZ;192;20 STM32L072V8;64;20 STM32L072VB;128;20 STM32L072VZ;192;20 STM32L073CB;128;20 STM32L073CZ;192;20 STM32L073RB;128;20 STM32L073RZ;192;20 STM32L073V8;64;20 STM32L073VB;128;20 STM32L073VZ;192;20 STM32L081CZ;192;20 STM32L081KZ;192;20 STM32L082KB;128;20 STM32L082KZ;192;20 STM32L083CB;128;20 STM32L083CZ;192;20 STM32L083RB;128;20 STM32L083RZ;192;20 STM32L083V8;64;20 STM32L083VB;128;20 STM32L083VZ;192;20 STM32L100C6;32;4 STM32L100C6-A;32;4 STM32L100R8;64;8 STM32L100R8-A;64;8 STM32L100RB;128;10 STM32L100RB-A;128;16 STM32L100RC;256;16 STM32L151C6;32;10 STM32L151C6-A;32;16 STM32L151C8;64;"10;16" STM32L151C8-A;64;32 STM32L151CB;128;16 STM32L151CB-A;128;32 STM32L151CC;256;32 STM32L151QC;256;32 STM32L151QD;384;48 STM32L151QE;512;80 STM32L151R6;32;10 STM32L151R6-A;32;16 STM32L151R8;64;10 STM32L151R8-A;64;32 STM32L151RB;128;16 STM32L151RB-A;128;32 STM32L151RC;256;32 STM32L151RC-A;256;32 STM32L151RD;384;48 STM32L151RE;512;80 STM32L151UC;256;32 STM32L151V8;64;10 STM32L151V8-A;64;32 STM32L151VB;128;16 STM32L151VB-A;128;32 STM32L151VC;256;32 STM32L151VC-A;256;32 STM32L151VD;384;48 STM32L151VD-X;384;80 STM32L151VE;512;80 STM32L151ZC;256;32 STM32L151ZD;384;48 STM32L151ZE;512;80 STM32L152C6;32;10 STM32L152C6-A;32;16 STM32L152C8;64;10 STM32L152C8-A;64;32 STM32L152CB;128;16 STM32L152CB-A;128;32 STM32L152CC;256;32 STM32L152QC;256;32 STM32L152QD;384;48 STM32L152QE;512;80 STM32L152R6;32;10 STM32L152R6-A;32;16 STM32L152R8;64;10 STM32L152R8-A;64;32 STM32L152RB;128;16 STM32L152RB-A;128;32 STM32L152RC;256;32 STM32L152RC-A;256;32 STM32L152RD;384;48 STM32L152RE;512;80 STM32L152V8;64;10 STM32L152V8-A;64;32 STM32L152VB;128;16 STM32L152VB-A;128;32 STM32L152VC;256;32 STM32L152VC-A;256;32 STM32L152VD;384;48 STM32L152VD-X;384;80 STM32L152VE;512;80 STM32L152ZC;256;32 STM32L152ZD;384;48 STM32L152ZE;512;80 STM32L162QD;384;48 STM32L162RC;256;32 STM32L162RC-A;256;32 STM32L162RD;384;48 STM32L162RE;512;80 STM32L162VC;256;32 STM32L162VC-A;256;32 STM32L162VD;384;48 STM32L162VD-X;384;80 STM32L162VE;512;80 STM32L162ZD;384;48 STM32L162ZE;512;80 STM32L431CB;128;64 STM32L431CC;256;64 STM32L431KB;128;64 STM32L431KC;128;64 STM32L431RB;128;64 STM32L431RC;256;64 STM32L431VC;256;64 STM32L432KB;256;64 STM32L432KC;256;64 STM32L433CB;256;64 STM32L433CC;256;64 STM32L433RB;256;64 STM32L433RC;256;64 STM32L433VC;256;64 STM32L442KC;256;64 STM32L443CC;256;64 STM32L443RC;256;64 STM32L443VC;256;64 STM32L471QE;512;128 STM32L471QG;1024;128 STM32L471RE;512;128 STM32L471RG;1024;128 STM32L471VE;512;128 STM32L471VG;1024;128 STM32L471ZE;512;128 STM32L471ZG;1024;128 STM32L475RC;256;128 STM32L475RE;512;128 STM32L475RG;1024;128 STM32L475VC;256;128 STM32L475VE;512;128 STM32L475VG;1024;128 STM32L476JE;512;128 STM32L476JG;1024;128 STM32L476ME;512;128 STM32L476MG;1024;128 STM32L476QE;512;128 STM32L476QG;1024;128 STM32L476RC;256;128 STM32L476RE;512;128 STM32L476RG;1024;128 STM32L476VC;256;128 STM32L476VE;512;128 STM32L476VG;1024;128 STM32L476ZE;512;128 STM32L476ZG;1024;128 STM32L486JG;1024;128 STM32L486QG;1024;128 STM32L486RG;1024;128 STM32L486VG;1024;128 STM32L486ZG;1024;128 STM32TS60;32;10 '; my $regex = qr/STM32(F[0-47]|L[014]|TS)\d{2}(\w{2}(\-[A|X])?)?/mip; if ( $str =~ /$regex/g ) { print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n"; # print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n"; # print "Capture Group 2 is $2 ... and so on\n"; } # ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p' # Named capture groups can be called via $+{name}

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