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
No Match

r"
"
gm

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "(?<!\\d)(\\d)(?!\\d)"; final String string = "1. 1-1 Prise en main de blender\n" + "2. 2-1 Présentation de la sculpture\n" + "3. 2-2 Sculpter le visage\n" + "4. 2-3 Retopologie : Créer la structure du visage\n" + "5. 2-4 Retopologie : Placer les vertices de face\n" + "6. 2-5 Retopologie : Placer les vertices de profil\n" + "7. 2-6 Finalisation de la tête\n" + "8. 2-7 Modéliser et placer les yeux\n" + "9. 2-8 Modéliser les cheveux\n" + "10. 2-9 Modéliser les cils et sourcils\n" + "11. 2-10 Modéliser l'intérieur de la bouche\n" + "12. 3-1 Préparer la modélisation du corps\n" + "13. 3-2 Modéliser le corps\n" + "14. 3-3 Modéliser les pieds\n" + "15. 3-4 Modéliser les mains\n" + "16. 3-5 Modéliser les doigts partie 1\n" + "17. 3-6 Modéliser les doigts partie 2\n" + "18. 3-7 Ajuster et préciser les bras\n" + "19. 3-8 Ajuster le corps pour préparer le raccord à la tête\n" + "20. 3-9 Raccorder le corps à la tête\n" + "21. 3-10 Ajuster la tête à l'aide du \"Modifier\" lattice\n" + "22. 4-1 Créer le pantalon\n" + "23. 4-2 Créer le T-shirt\n" + "24. 4-3 Créer les bottes\n" + "25. 4-4 Donner de l'épaisseur aux habits\n" + "26. 5-1 Texturer le pantalon\n" + "27. 5-2 Texturer le T-shirt\n" + "28. 5-3 Texturer les bottes\n" + "29. 5-4 Texturer les cheveux\n" + "30. 5-5 Faire un dégradé sur les cheveux\n" + "31. 5-6 Texturer les cils/sourcils\n" + "32. 5-7 Texturer les yeux\n" + "33. 5-8 Préparer le personnage au texturing\n" + "34. 5-9 Dépliage UV du personnage\n" + "35. 5-10 Préparer les images pour le texture paint\n" + "36. 5-11 Peindre le corps\n" + "37. 5-12 Peindre le visage\n" + "38. 5-13 Peindre les mains\n" + "39. 5-14 Peindre l'intérieur de la bouche et les lèvres\n" + "40. 5-15 Reliefs et spécularité du visage\n" + "41. 6-1 Parties délavées du pantalon\n" + "42. 6-2 Ajouter un Fresnel aux textures\n" + "43. 7-1 Créer l'armature\n" + "44. 7-2 Appliquer la symétrie du squelette\n" + "45. 7-3 Créer un contrôleur \"Master\"\n" + "46. 7-4 Créer une IK pour les jambes\n" + "47. 7-5 Créer une IK pour les bras\n" + "48. 7-6 Créer un contrôleur pour le regard\n" + "49. 7-7 Créer un contrôleur pour plier les doigts\n" + "50. 7-8 Appliquer les contrôleurs en symétrie\n" + "51. 7-9 Connecter l'armature au personnage\n" + "52. 7-10 Customiser les contrôleurs genoux et coudes\n" + "53. 7-11 Customiser le contrôleur \"Master\"\n" + "54. 7-12 Customiser les contrôleurs IK\n" + "55. 7-13 Customiser les contrôleurs de la colonne vertébrale\n" + "56. 7-14 Customiser les contrôleurs épaules, cou, tête\n" + "57. 7-15 Appliquer des couleurs aux groupes de \"bones\"\n" + "58. 7-16 Customiser les contrôleurs des doigts\n" + "59. 7-17 Faire suivre le regard\n" + "60. 7-18 Automatiser la fermeture des doigts\n" + "61. 7-19 Créer des drivers pour plier les doigts\n" + "62. 7-20 Corrections de la fermeture du poing\n" + "63. 7-21 Réduire la résolution du pantalon en conservant les détails dans la texture\n" + "64. 7-22 Réduire la résolution du T-shirt en conservant les détails dans la texture\n" + "65. 7-23 Préparer le personnage pour éviter les éventuels défauts liés aux habits\n" + "66. 8-1 Créer les expressions faciales\n" + "67. 8-2 Fermer les yeux\n" + "68. 8-3 Créer un driver pour la fermeture des yeux\n" + "69. 8-4 Finaliser l'expression de \"colère\" et lui créer un driver\n" + "70. 8-5 Faire briller les yeux\n" + "71. 9-1 Connecter les habits à l'armature et peindre les influences des os\n" + "72. 9-2 Créer le \"Kameha\"\n" + "73. 9-3 Placer la première pose du personnage\n" + "74. 9-4 Créer le mouvement de caméra du premier plan de notre animation\n" + "75. 9-5 Affiner les réglages et faire sourire le personnage\n" + "76. 9-6 Animer le mouvement du personnage\n" + "77. 9-7 Correction bug possible de texture des yeux\n" + "78. 9-8 Animer le \"Kameha\"\n" + "79. 9-9 Placer et animer la 2ème caméra\n" + "80. 9-10 Créer l'effet tremblement de la caméra\n" + "81. 9-11 Créer le mouvement des cheveux\n" + "82. 10-1 Créer le fond et les lumières\n" + "83. 10-2 Texturer le fond et régler la profondeur de champs des caméras\n" + "84. 10-3 Réglages de rendu\n" + "85. 10-4 Point sur l'export et explications lumières volumétriques\n" + "79. 9-9 Placer et animer[xnmjklxx]la 2ème caméra\n" + "80. 9-10 Créer l'effet tremblement de la caméra\n" + "81. 9-11 Créer le mouvement des cheveux\n" + "82. 10-1 Créer le[xwerrxxxxx]fond et les lumières\n" + "83. 10-2[xx]Texturer le fond et régler la profondeur de champs des caméras\n" + "84. 10-3 Réglages de rendu\n" + "85. 10-4 Point[xxxxtzzxxx]sur l'export et explications "; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html