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