Regular Expressions 101

Save & Share

  • Regex Version: ver. 4
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
gmx

Test String

Code Generator

Generated Code

$re = '/^ ( # Débute par un article Le\ |La\ |Les\ |Los\ |Aux\ |L\' | # ou ) # rien ([A-ZÉÇŒÈÎ]) # Suivi d\'une majuscule ( # puis ... ((-| # un trait-d\'union ou \ | # un espace ou \ -\ | # un espace suivi d\'un trait d\'union suivi d\'un espace ou \') # une apostrophe [A-ZÉÇŒÈÎ]) # suivi d\'une majuscule | # ou bien (\'|-|\ |) # une apostrophe ou un trait-d\'union ou un espace ou rien [a-zàâéèêëïîÿôûüœç] # suivi d\'une minuscule )* # 0 ou plusieurs fois ( # terminé par \ \([A-Z][a-z]*\) # un espace suivi d\'un mot entre parenthèse débutant par une majuscule | # ou ) # rien $/mx'; $str = 'Invalides AA NNouvelle A\' Nouvelle\' A- Nouvelle- AA\' AA- NNouvelle\' NNouvelle- -Ville --Ville \'Francheville \'\'Francheville A\'\'ville L\'\'Épine A--Ville Nouvelle--Ville A Ville Nouvelle Ville A\'-Ville Nouvelle\'-Ville A-\'Ville Nouvelle-\'Ville A\' Ville Nouvelle\' Ville A- Ville Nouvelle- Ville Nouvelle-es- Ville Saint-Martin-es- Ville AAA AaA A a A A Théoriques ??? A A A\'A A-A Nouvelle\'Ville Valides (existants) Marseille Saint-Remy-en-Bouzemont-Saint-Genest-et-Isson Saint-Martin-d\'Hères Hœdic Saint-Genis Y Ay Bû Oô Aast Niederschaeffolsheim Kermoroc\'h M\'tsangamouji L\'Île-Rousse L\'Épine Le Mans La Celle-Saint-Cloud Le Pont-de-Beauvoisin Hitiaa O Te Ra Saint-Nom-la-Bretèche Saint-Germain-de-Tallevende-la-Lande-Vaumont Beaujeu-Saint-Vallier-Pierrejux-et-Quitteur Île-aux-Moines Île-d\'Aix Château-Chinon (Campagne) Château-Chinon (Ville) Noirmoutier-en-l\'Île Aix-Villemaur-Pâlis La Chapelle du Lou du Lac Saint-Thégonnec Loc-Eguiner Val d\'Arcomie Ance Féas Le Bas Ségala Le Haut Soultzbach Bairon et ses environs Dhuys et Morin-en-Brie Parves et Nattages Haut Valromey Saint Paterne - Le Chevain Pont de Montvert - Sud Mont Lozère Saint Géry-Vers Villages du Lac de Paladru Bagnoles de l\'Orne Normandie Cœur de Causse Beauce la Romaine Les Hauts d\'Anjou Les Pechs du Vers Segré-en-Anjou Bleu Ingrandes-Le Fresne sur Loire Montrichard Val de Cher '; 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