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

/
/
g

Test String

Code Generator

Generated Code

$re = '/<DIV\s*class="[^"]*lesson.*><[aA][^>]*class=large-text[^>]*href\s*=[\*"|\'](.*?)[\*"|\']>((.|\n)*?)<\/[aA]>[.|\n]*<\/DIV|div>/'; $str = '<form action="#" id="ModalFormB" method="POST"> <table> <colgroup> <col class="nome_riga"> <col class="desc_riga"> <col class="normale" span="<?=$results[\'colonne\']-3?>"> <col class="ultima"> </colgroup> <tr class="nascosta"> <th class="nome_riga"></th> <th class="desc_riga"></th> <th class="normale" colspan="<?=$results[\'colonne\']-3?>"></th> <th class="ultima"></th> </tr> <tr> <td colspan="<?=$results[\'colonne\']?>" class="verde">B. Impianti di generazione di energia (termica, elettrica, cogenerazione, ...)<br> Aggiungere nuove colonne in caso l\'impianto sia dotato di più di 4 generatori. <input type="hidden" name="IdQuestionario" value="<?=$IdQuestionario?>" /> </td> </tr> <?=$results[\'Intestazione\']?> <tr class="required"> <td class="capolinea">B0.</td> <td class="grassetto">Funzione</td> <?=$results[\'Funzione\']?> <td>&nbsp;</td> </tr> <tr class="required"> <td class="capolinea">B1.</td> <td class="grassetto">Potenza termica nominale</td> <?=$results[\'PotenzaTermica\']?> <td class="corsivo">Indicare la potenza termica nominale di ogni generatore [kW]</td> </tr> <tr class="required"> <td class="capolinea">B2.</td> <td class="grassetto">Potenza elettrica nominale</td> <?=$results[\'PotenzaElettrica\']?> <td class="corsivo">Indicare la potenza elettrica nominale di ogni generatore [kW]</td> </tr> <tr class="required"> <td class="capolinea">B3.</td> <td class="grassetto">Fonti energetiche utilizzate</td> <?=$results[\'Fonti\']?> <td class="corsivo">Indicare per ogni unità di generazione la/le fonte/fonti utilizzata/e per produzione di energia termica, rinnovabile o non rinnovabile (in caso di recuperi da processi industriali, specificare la fonte utilizzata nel processo). Nel caso di più fonti separare le singole fonti utilizzando il ; (punto e virgola). <br> <b>Indicare una delle seguenti voci: pellet di legno; cippato di legno; vinacce; gusci; sansa; altra biomassa legnosa; olio vegetale grezzo; altri bioliquidi; biogas; rifiuti industriali; rifiuti urbani; energia solare termica; energia geotermica; carbone; gas naturale; gasolio; altri prodotti petroliferi; pompa di calore idrotermica; pompa di calore aerotermica; pompa di calore geotermica. </b></td> </tr> <tr class="required"> <td class="capolinea" rowspan="2">B4.</td> <td class="grassetto" rowspan="2">Rendimento di conversione medio dell\'impianto</td> <?=$results[\'RendimentoImpianto\']?> <td>&nbsp;</td> </tr> <tr class="required"> <?=$results[\'RendImpCostr\']?> <td>specificare se: dichiarato dal costruttore o dato medio ricavato in esercizio</td> </tr> <tr class="cogenerazione"> <td class="capolinea" rowspan="2">B5.</td> <td class="grassetto" rowspan="2">Rendiemento di conversione medio dell\'impianto che produce elettricità</td> <?=$results[\'RendimentoElettrico\']?> <td>&nbsp;</td> </tr> <tr class="cogenerazione"> <?=$results[\'RendElCostr\']?> <td>specificare se: dichiarato dal costruttore o dato medio ricavato in esercizio</td> </tr> <tr> <td class="capolinea">B6.</td> <td class="grassetto">Sigla generatore</td> <?=$results[\'SiglaGeneratore\']?> <td class="corsivo">La sigla del generatore riportata nell\'autorizzazione alle emissioni in atmosfera (rilasciata dalla Provincia ai sensi del DPR n. 203 del 1988 o del D.Lgs. n. 152 del 2006), <b>se l\'impianto prevede il rilascio di tale autorizzazione</b></td> </tr> <tr> <td class="capolinea">B7.</td> <td class="grassetto">Ore di funzionamento annue</td> <?=$results[\'OreAnnue\']?> <td>&nbsp;</td> </tr> <tr class="piccolo medio"> <td class="capolinea">B8.</td> <td class="grassetto">Inquinante; emissioni; unità di misura</td> <?=$results[\'Inqinanti\']?> <td class="corsivo"><b>ogni impianto soggetto ad autorizzazione alle emissioni</b> deve fare o un autonomo controllo 1 volta l\'anno (si tratta di certificati analitici: si prega di inviare tali relazioni in allegato alla presente tabella) o misure in continuo (in questo caso indicare l\'inquinante, le emissioni corrispondenti e l\'unità di misura).</td> </tr> <tr class="piccolo medio"> <td class="capolinea">B9.</td> <td class="grassetto">Sistema di abbattimento degli inquinanti</td> <?=$results[\'Abbattimento\']?> <td class="corsivo">Indicare i sistemi di abbattimento degli inquinanti installati, eventualmente unendo più celle se più generatori fanno riferimento ad un unico camino e ad un\'unica linea fumi</td> </tr> </table> <?=$results[\'bottoni\']?> </form> '; preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0); // Print the entire match result var_dump($matches);

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 PHP, please visit: http://php.net/manual/en/ref.pcre.php