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

/
/
gm

Test String

Substitution

Processing...

Code Generator

Generated Code

$re = '/(INSERT INTO ssicf\.dbo\.([^ ]+) \(([^)]+)\) VALUES \(((?:[^)]+|(?:.|\n)*?))\);)/m'; $str = ' INSERT INTO ssicf.dbo.inspection_contenu (id, category_id, parent_id, onglet_id, inspection_id, status_id, position, datetarget, datecreate, dateedit, label, text) VALUES (198, 102, null, 20, 38, null, \'bc\', null, \'2018-04-27 08:45:39.879827\', null, null, null); INSERT INTO ssicf.dbo.inspection_contenu (id, category_id, parent_id, onglet_id, inspection_id, status_id, position, datetarget, datecreate, dateedit, label, text) VALUES (199, 103, null, 20, 38, null, \'c\', null, \'2018-04-27 08:45:39.915560\', null, null, null); INSERT INTO ssicf.dbo.inspection_contenu (id, category_id, parent_id, onglet_id, inspection_id, status_id, position, datetarget, datecreate, dateedit, label, text) VALUES (200, 104, null, 20, 38, null, \'ca\', null, \'2018-04-27 08:45:39.950898\', \'2018-05-02 12:36:33.549226\', null, \'1. Redevances – art. 79 à 88/2 Tous les articles sur les redevances ont été modifiés dans le but d’harmoniser des conditions d’application (avec des modalités applicables à toutes les redevances – cf. art. 79) et de clarifier les textes lorsque cela était nécessaire. Les montants n’ont pas changé mais leur application a parfois été modifiée (par exemple, il est à présent systématiquement prévu qu’une redevance est due tant pour une demande initiale que pour une demande de révision de de renouvellement). L’obligation d’un paiement préalable à l’exécution du travail est également prévue pour certaines redevances. Je vous invite donc à prendre connaissance des nouveaux articles, chacun en ce qui concerne votre unité et d’adapter, le cas échéant, vos procédures. Pour SAJO (Martine G.) : toutes les bases légales vont devoir être corrigées dans Fedcom. 2. Amendes administratives – art. 76 et 214 à 216/4 L’article 76 a été modifié pour y rassembler tous les éléments de procédure (qui, auparavant, étaient éparpillés dans plusieurs dispositions) et pour clarifier certains aspects qui posaient problème. Le chapitre sur les amendes (à partir de l’article 214) a été entièrement revu et une nouvelle classification des infractions (en 3 degrés de gravité) est à présent prévue. Enfin, certaines infractions qui étaient difficilement compréhensibles ont été clarifiées et de nouvelles infractions ont été ajoutées. Je vais donc modifier la procédure (et le tableau récapitulatif des infractions) ainsi que les modèles utilisés pour infliger les amendes. D’ici à ce que cela soit fait, si vous envisagez de lancer une procédure, n’hésitez pas à me contacter dès le départ pour intégrer les nouveautés. 3. Accompagnateurs de train – art. 151/1 Dans le cadre de la réduction des règles nationales exigée par l’Europe, les règles nationales en matière de formation et de certification des accompagnateurs sont supprimées à partir du 1er janvier 2018. L’article 151/1 du Code ferroviaire prévoit en effet qu’à partir de cette date, les EF doivent disposer de processus en la matière dans leur SGS (en respectant le prescrit de la STI OPE). Le SSICF n’est donc plus compétent pour la certification des accompagnateurs de train. En pratique, les dispositions des arrêtés royaux du 18 janvier 2008 (formation) et du 9 juillet 2013 (certification) figurent toujours dans ces textes mais elles ne doivent plus être appliquées. Elles seront abrogées ultérieurement, lors du nettoyage de ces arrêtés. La division Personnel de sécurité est donc invitée à adapter ses processus, guides, informations sur le site internet, etc… 4. Mise en service des sous-systèmes et des véhicules – art. 168, 178 et 180/1 Les règles relatives à la mise en service ont été clarifiées et harmonisées. Les textes contenaient en effet des différences injustifiées selon que l’on parlait de sous-systèmes ou de véhicules et il y avait par ailleurs des dispositions qui faisaient double emploi ou qui étaient incohérentes par rapport à l’arrêté royal sur la mise en service. Ces nouveaux articles constitueront la base d’un nouvel arrêté royal relatif à la mise en service qui avait été rédigé en même temps et qui a pour but de clarifier la procédure en reprenant également des éléments qui ne se trouvaient jusqu’ici que dans le guide alors qu’ils étaient essentiels. L’arrêté royal devrait voir le jour d’ici le mois de juin. 5. Registre national des véhicules – art. 210 \'); INSERT INTO ssicf.dbo.inspection_contenu (id, category_id, parent_id, onglet_id, inspection_id, status_id, position, datetarget, datecreate, dateedit, label, text) VALUES (201, 105, null, 21, 38, null, \'d\', null, \'2018-04-27 08:45:39.988584\', null, null, null);'; $subst = "SET IDENTITY_INSERT ssicf.dbo.$2 ON;\n$1\nSET IDENTITY_INSERT ssicf.dbo.$2 OFF;"; $result = preg_replace($re, $subst, $str); echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php