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

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "#([a-fA-F0-9]{3})([a-fA-F0-9]{3})?(?=\\W?)"; final String string = "/* Ce fichier contient les classes CSS personnalisées */\n\n" + "/* **************************************** couleurs ******************************************* */\n" + "@coldisp: #090;\n" + "@colindisp: #FA0;\n" + "@colweekend: #FA0;\n" + "@colconges: #F00;\n" + "@colreservations: #FA0;\n" + "@colhoraires: #850;\n" + "@colferie: #9CF;\n" + "@colrien: #FFF;\n\n" + "@colrupturesfond: #A8D089;\n" + "@colrupturestext: #000000;\n\n" + "@colbaronglefond: #CCEFCB;\n" + "@colbarongletext: #000000;\n\n" + "@colbaroutilfond: #DBF0CC;\n" + "@colbaroutiltext: #000000;\n\n" + "@colbartitrefond: #315E0F;\n" + "@colbartitretext: #FFFFFF;\n\n" + "@colbordures: #BBE899;\n\n" + "/* **************************** fonctions de dégradés verticaux ******************************* */\n" + ".degradev (@color1, @color2) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(top, @color1, @color2);\n" + " background-image: -moz-linear-gradient(top, @color1, @color2);\n" + " background-image: -o-linear-gradient(top, @color1, @color2);\n" + " background-image: -ms-linear-gradient(top, @color1, @color2);\n" + " background-image: linear-gradient(top, @color1, @color2);\n" + "}\n" + ".degradev (@color1, @color2, @color3) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(top, @color1, @color2, @color3);\n" + " background-image: -moz-linear-gradient(top, @color1, @color2, @color3);\n" + " background-image: -o-linear-gradient(top, @color1, @color2, @color3);\n" + " background-image: -ms-linear-gradient(top, @color1, @color2, @color3);\n" + " background-image: linear-gradient(top, @color1, @color2, @color3);\n" + "}\n" + ".degradev (@color1, @color2, @color3, @color4) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(top, @color1, @color2, @color3, @color4);\n" + " background-image: -moz-linear-gradient(top, @color1, @color2, @color3, @color4);\n" + " background-image: -o-linear-gradient(top, @color1, @color2, @color3, @color4);\n" + " background-image: -ms-linear-gradient(top, @color1, @color2, @color3, @color4);\n" + " background-image: linear-gradient(top, @color1, @color2, @color3, @color4);\n" + "}\n\n" + ".degradev (@color1, @color2, @color3, @color4, @color5) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(top, @color1, @color2, @color3, @color4, @color5);\n" + " background-image: -moz-linear-gradient(top, @color1, @color2, @color3, @color4, @color5);\n" + " background-image: -o-linear-gradient(top, @color1, @color2, @color3, @color4, @color5);\n" + " background-image: -ms-linear-gradient(top, @color1, @color2, @color3, @color4, @color5);\n" + " background-image: linear-gradient(top, @color1, @color2, @color3, @color4, @color5);\n" + "}\n\n" + ".degradev (@color1, @color2, @color3, @color4, @color5, @color6) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(top, @color1, @color2, @color3, @color4, @color5, @color6);\n" + " background-image: -moz-linear-gradient(top, @color1, @color2, @color3, @color4, @color5, @color6);\n" + " background-image: -o-linear-gradient(top, @color1, @color2, @color3, @color4, @color5, @color6);\n" + " background-image: -ms-linear-gradient(top, @color1, @color2, @color3, @color4, @color5, @color6);\n" + " background-image: linear-gradient(top, @color1, @color2, @color3, @color4, @color5, @color6);\n" + "}\n\n" + "/* *********************************** fonctions de dégradés horizontaux ********************************** */\n" + ".degradeh (@color1, @color2) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(to left, @color1, @color2);\n" + " background-image: -moz-linear-gradient(to left, @color1, @color2);\n" + " background-image: -o-linear-gradient(to left, @color1, @color2);\n" + " background-image: -ms-linear-gradient(to left, @color1, @color2);\n" + " background-image: linear-gradient(to left, @color1, @color2);\n" + "}\n" + ".degradeh (@color1, @color2, @color3) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(to left, @color1, @color2, @color3);\n" + " background-image: -moz-linear-gradient(to left, @color1, @color2, @color3);\n" + " background-image: -o-linear-gradient(to left, @color1, @color2, @color3);\n" + " background-image: -ms-linear-gradient(to left, @color1, @color2, @color3);\n" + " background-image: linear-gradient(to left, @color1, @color2, @color3);\n" + "}\n" + ".degradeh (@color1, @color2, @color3, @color4) {\n" + " background-color: @color2;\n" + " background-image: -webkit-linear-gradient(to left, @color1, @color2, @color3, @color4);\n" + " background-image: -moz-linear-gradient(to left, @color1, @color2, @color3, @color4);\n" + " background-image: -o-linear-gradient(to left, @color1, @color2, @color3, @color4);\n" + " background-image: -ms-linear-gradient(to left, @color1, @color2, @color3, @color4);\n" + " background-image: linear-gradient(to left, @color1, @color2, @color3, @color4);\n" + "}\n\n" + ".toolbar_icon {\n" + " background-size: 24px;\n" + "}\n\n" + "/* ****************************** valeurs par défaut ****************************** */\n\n\n" + "iframe[seamless]{\n" + " background-color: transparent;\n" + " border: 0px none transparent;\n" + " padding: 0px;\n" + "}\n\n\n" + "//.x-grid-row .x-grid-cell,\n" + ".x-grid-data-row .x-grid-cell,\n" + ".x-grid-group-title {\n" + " font-family: \"Segoe UI\", \"tahoma\", \"arial\", \"verdana\", sans-serif;\n" + "}\n\n" + ".x-grid-row-summary .x-grid-cell-inner {\n" + " font-weight: bold !important;\n" + " font-size: 13px;\n" + "}\n\n" + ".x-panel-header-text-default-framed,\n" + ".x-tab button,\n" + ".x-panel-header-default,\n" + ".x-panel-header-text-default,\n" + ".x-btn-inner,\n" + ".x-fieldset-header {\n" + " font-size: 12px !important;\n" + "}\n\n" + ".x-grid-with-row-lines .x-grid-cell-inner {\n" + " line-height: 21px;\n" + " white-space: normal;\n" + "}\n\n" + "//.x-grid-row .x-grid-cell {\n" + ".x-grid-data-row .x-grid-cell {\n" + " font-size: 13px;\n\n" + " a {\n" + " text-decoration: none;\n" + " }\n" + "}\n\n\n" + "/* enlève le padding par défaut dans les cellules des grids*/\n" + ".x-grid-cell-inner,\n" + ".x-grid-group-hd {\n" + " padding: 0 !important;\n" + "}\n\n" + "/* corrige le padding des cellules de treeview */\n" + "/*.x-tree-view .x-grid-cell-inner {\n" + " padding: 3px !important;\n" + "}\n" + "*/\n" + ".x-tree-view .x-grid-cell-inner-treecolumn {\n" + " padding: 3px !important;\n" + "}\n\n\n" + "/* dossier fermé */\n" + ".x-tree-icon-parent {\n" + " background-image: url(\"../resources/images/folder_closed_16x16.png\");\n" + "}\n\n" + "/* dossier ouvert */\n" + ".x-grid-tree-node-expanded .x-tree-icon-parent {\n" + " background-image: url(\"../resources/images/folder_16x16.png\");\n" + "}\n\n\n" + "/* corrige le padding par défaut dans les entêtes de colonne des grids*/\n" + "/* et centre les entete de colonne */\n" + ".x-column-header-inner {\n" + " text-align: center !important;\n" + " padding: 3px 0px;\n" + "}\n\n" + ".x-grid-group-title {\n" + " font-size: 11px;\n" + " line-height: 18px;\n" + " height: 18px;\n" + " vertical-align: middle;\n\n" + " .degradeh(#2f323f, #2e65a7, #2f323f);\n" + " background-color: #2F323F !important;\n" + " color: #FFF;\n" + "}\n\n" + ".x-boundlist-list-ct ul {\n" + " padding: 0;\n" + " list-style-type: none;\n" + "}\n\n" + ".x-timepicker {\n" + " .x-boundlist-item {\n" + " text-align: center;\n" + " }\n" + "}\n\n" + ".x-grid-cell.vrai, .x-grid-cell.faux {\n" + " font-size: 18px;\n" + "}\n" + ".x-grid-cell.vrai {\n" + " color: #060;\n" + "}\n" + ".x-grid-cell.faux {\n" + " color: #900;\n" + "}\n\n\n\n" + "/* ************************************************* commun ******************************************************* */\n" + ".handcursor {\n" + " cursor: pointer;\n" + "}\n\n" + ".imgbackground {\n" + " width: 100%;\n" + " bottom: 0px;\n" + " left: 0px;\n" + " position: absolute;\n" + "}\n\n" + ".zindex1 {\n" + " z-index: 1;\n" + "}\n\n" + ".whitebg {\n" + " z-index: 1;\n" + "}\n\n" + ".whitebg .x-panel-body {\n" + " background-color: rgba(255,255,255,0.5) !important;\n" + "}\n\n" + ".champ-email input[type=text] {\n" + " background : #fff url(\"../resources/images/email_16x16.png\") 4px 50% no-repeat;\n" + " padding-left: 25px;\n" + " cursor: pointer;\n" + "}\n\n" + ".ligne-vide {\n" + " display: none;\n" + "}\n\n" + ".champ-gmaps textarea {\n" + " background: #ffffff url(\"../resources/images/localisation_16x16.png\") no-repeat 99% 8%;\n" + " padding-left: 10px;\n" + " padding-right: 25px;\n" + " cursor: pointer;\n" + "}\n\n" + "/* ************************************************* spécifique **************************************************** */\n" + "/* header */\n\n" + "#headerpanel {\n\n" + " #container_welcome {\n\n" + " font-family: 'sinkin_sans', Arial, sans-serif;\n\n" + " /* titre de l'application */\n" + " #txt_welcome {\n" + " vertical-align: bottom;\n" + " /*height: 62px;*/\n\n" + " #titre {\n" + " text-shadow: 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF, 0 0 0.4em #FFF;\n" + " font-size: 24px;\n" + " font-weight: normal;\n" + " line-height: 62px;\n" + " margin: 0px;\n\n" + " a:focus {\n" + " outline: none;\n" + " }\n\n" + " a, a:link, a:visited {\n" + " text-decoration: none;\n" + " color: #369;\n" + " padding-bottom: 2px;\n" + " }\n\n" + " a:hover {\n" + " text-decoration: none;\n" + " border-bottom: solid 2px #369;\n" + " }\n" + " }\n" + " }\n\n\n" + " #container_messagedujour-innerCt {\n" + " vertical-align: middle !important;\n\n" + " /* caroussel des messages */\n" + " #messagedujour {\n" + " margin: 0px;\n" + " text-align: left;\n\n" + " .viewport {\n" + " width: 100%;\n" + " max-width: 562px;\n" + " height: 30px;\n" + " overflow: hidden;\n" + " position: relative;\n" + " display: inline-block;\n" + " vertical-align: middle;\n\n" + " .overview {\n" + " margin: 0px;\n" + " list-style: none;\n" + " position: absolute;\n" + " left: 0\n" + " top: 0;\n\n" + " .page {\n" + " margin: 0px;\n" + " padding: 0px;\n" + " float: left;\n" + " border: none;\n" + " width: 550px;\n\n" + " p {\n" + " margin: 0px;\n" + " padding: 0px;\n" + " line-height: 30px;\n" + " }\n" + " }\n" + " }\n" + " }\n\n" + " .bullets {\n" + " /*overflow:hidden;*/\n" + " /*height: 1%;*/\n" + " list-style: none;\n" + " clear: both;\n" + " margin: 0px;\n" + " display: inline-block;\n" + " padding: 0px;\n" + " vertical-align: middle;\n\n" + " li {\n" + " float: left;\n" + " }\n\n" + " .bullet {\n" + " background-color: #fff;\n" + " text-decoration: none;\n" + " text-align: center;\n" + " padding: 0px 4px;\n" + " color: #555555;\n" + " font-size: 13px;\n" + " font-weight: bold;\n" + " display: block;\n\n" + " &.active {\n" + " color: #fff;\n" + " background-color: #555555;\n" + " }\n" + " }\n" + " }\n" + " }\n" + " }\n" + " }\n\n" + " #container_profil {\n\n" + " background-image: url(\"../resources/images/header_ident3.png\");\n" + " background-repeat: no-repeat;\n" + " background-position: right;\n" + " font-family: 'sinkin_sans', Arial, sans-serif;\n\n" + " #lbl_profil_qui {\n" + " .x-form-display-field {\n" + " color: #EEE;\n" + " font-size: 18px;\n" + " text-align: center;\n" + " font-family: 'sinkin_sans', Arial, sans-serif;\n" + " }\n\n" + " .x-form-item-body {\n" + " vertical-align: bottom;\n" + " }\n" + " }\n\n" + " #lbl_profil_connexion {\n" + " display: table-cell;\n" + " vertical-align: middle;\n" + " }\n\n" + " #login_link:link, #login_link:link, #login_link:visited {\n" + " color: #EEE;\n" + " font-size: 14px;\n" + " text-decoration: none;\n" + " }\n" + " #login_link:hover{\n" + " color: #FFF;\n" + " text-decoration: underline;\n" + " }\n" + " }\n" + "}\n\n\n" + "#grid_adh_suiviexercice .x-grid-cell-inner {\n" + " line-height: 13px;\n" + " white-space: normal;\n" + "}\n" + "#grid_adh_exercices {\n" + " .x-grid-cell-inner {\n" + " white-space: nowrap;\n" + " }\n" + "}\n\n" + "/* corrige un bug */\n" + "#menu_reservationsSemaine .x-grid-cell-inner {\n" + " white-space: nowrap;\n" + "}\n\n\n" + "#about h1 {\n" + " font-size: 20px;\n" + "}\n\n" + "dl.credits, dl.aide, dl.releasenotes {\n" + " margin-left: 20px;\n\n" + " dt {\n" + " font-weight: bold;\n" + " font-size: 16px;\n" + " margin-top: 30px;\n" + " }\n\n" + " dd {\n" + " margin-left: 25px;\n\n" + " strong {\n" + " font-weight: 700 !important;\n" + " }\n" + " }\n" + "}\n\n\n\n\n\n" + "/* PLANNING ET RESERVATIONS */\n\n" + ".activite, .reunion {\n" + " &.disponible {\n" + " background-color: @coldisp;\n" + " border-left: solid 10px @coldisp;\n" + " border-right: solid 2px lighten(@coldisp, 30%);\n" + " }\n\n" + " &.indisponible {\n" + " background-color: @colindisp;\n" + " border-left: solid 10px @colindisp;\n" + " border-right: solid 2px lighten(@colindisp, 30%);\n" + " }\n\n" + " &.conges {\n" + " background-color: @colconges;\n" + " border-left: solid 10px @colconges;\n" + " border-right: solid 2px lighten(@colconges, 30%);\n" + " }\n\n" + " &.ferie {\n" + " background-color: @colferie;\n" + " border-left: solid 10px @colferie;\n" + " border-right: solid 2px lighten(@colferie, 30%);\n" + " }\n\n" + " .contenu {\n" + " background-color: rgba(255,255,255,0.90);\n" + " padding: 10px;\n" + "/* left: 10px; /* /* mettre à 0 pour mettre la bande à droite */\n" + " position: relative;\n" + " border-bottom: dotted 1px #AAA;\n\n" + " .typeactivite, .lieuactivite, .libactivite, .typereunion, .lieureunion, .libreunion, .organisateur, .grptrav, .techniciens {\n" + " margin: 5px;\n" + " padding: 0;\n" + " list-style-type: none;\n" + " }\n\n" + " .horaireconteneur {\n" + " margin: 0px 5px 5px 5px;\n" + " }\n\n" + " .complementactivite {\n" + " position: absolute;\n" + " right: 0px;\n" + " top: 0px;\n" + " width: 12px;\n" + " opacity: 0.75;\n" + " }\n\n" + " .conteneur_trajet {\n" + " border: solid 2px #CCC;\n" + " background-color: #FFF;\n" + " margin-top: 10px;\n" + " padding: 5px;\n\n" + " a img {\n" + " margin-right: 5px;\n" + " }\n\n" + " a, a:link, a:visited {\n" + " color: #16529C;\n" + " text-decoration: none;\n" + " }\n\n" + " a:hover, a:focus {\n" + " text-decoration: underline;\n" + " }\n" + " }\n" + " }\n\n" + " &:last-child .contenu {\n" + " border-bottom: none;\n" + " }\n\n" + " .horaire, .special {\n" + " font-weight: bold;\n\n" + " &.debut:after {\n" + " content: \" - \";\n" + " }\n" + " }\n\n" + " .special:after {\n" + " content: \" : \";\n" + " }\n\n" + " .organisateur a, .techniciens a {\n" + " color: #16529C;\n" + " text-decoration: none;\n\n" + " &:hover, &:focus {\n" + " text-decoration: underline;\n" + " }\n" + " }\n\n" + " ul.grptrav li, ul.techniciens li {\n" + " width: 100%;\n" + " min-height: 18px;\n\n" + " .mailtec {\n" + " margin: 0px 6px;\n" + " }\n\n" + " .alltecs {\n" + " font-weight: bolder;\n" + " }\n" + " }\n\n" + " span.organisateur {\n" + " display: block;\n\n" + " .mailtec {\n" + " margin: 0px 6px;\n" + " }\n\n" + " }\n\n" + " .lieuactivite, .libactivite {\n" + " display: block;\n" + " color: #999;\n" + " font-size: small;\n" + " }\n\n" + " ol.visites {\n" + " padding: 10px;\n" + " font-size: 11px;\n" + " margin-left: 10px;\n\n" + " li {\n" + " list-style: decimal;\n\n" + " a {\n" + " color: #16529C;\n" + " text-decoration: none;\n\n" + " &.trajet {\n" + " display: inline-block;\n" + " margin: 5px 0px 15px 36px;\n" + " }\n\n" + " &:hover, &:focus {\n" + " text-decoration: underline;\n" + " }\n" + " }\n" + " }\n\n" + " li:last-child a.trajet{\n" + " margin-bottom: 0px;\n" + " }\n" + " }\n\n" + " &:last-child {\n" + " border-bottom: none;\n" + " }\n" + "}\n\n" + "#menu_planning,\n" + "#menu_reservationsSemaine {\n\n" + " .x-grid-data-row .x-grid-cell {\n" + " border-top: 0px !important;\n" + " border-bottom: 1px solid #D2D2D2 !important;\n" + " }\n\n" + " .x-grid-rowbody:empty {\n" + " padding: 0;\n" + " }\n\n" + " .x-grid-with-row-lines .x-grid-cell {\n" + " border-top-width: 0px !important;\n" + " }\n\n" + " .x-grid-group-hd {\n" + " padding: 0;\n" + " border-top: 2px solid #99BBE8;\n" + " border-bottom: none;\n\n" + " .x-grid-group-title {\n" + " font-size: 15px;\n" + " line-height: 26px;\n" + " height: 26px;\n" + " white-space: normal;\n" + " }\n" + " }\n" + "}\n\n\n\n\n\n\n\n\n\n\n" + "/* CONGES et RESERVATIONS ANNUELLES */\n" + "#grid_conges {\n" + " .journee {\n" + " &.ferie, &.weekend, &.ouvre, &.rien {\n" + " .contenu {\n" + " line-height: 32px;\n" + " }\n" + " }\n" + " &.conge, &.ferie {\n" + " .contenu {\n" + " line-height: 16px;\n" + " }\n" + " }\n" + " }\n" + "}\n" + "#grid_reservations_annee {\n" + " .journee {\n" + " .contenu {\n" + " height: 64px;\n" + " .toutseul {\n" + " line-height: 64px;\n" + " }\n" + " }\n" + " }\n" + "}\n\n" + "#grid_conges, #grid_reservations_annee {\n\n" + " /* ruptures */\n" + " .x-grid-group-hd .x-grid-group-title {\n" + " padding: 0px 5px 0px 50px;\n" + " }\n\n" + " .x-column-header-text {\n" + " font-weight: bold;\n" + " }\n\n" + " /* cellules */\n" + " .x-grid-cell {\n" + " border-top: solid 1px #fff !important;\n" + " border-bottom: none;\n" + " background-color: #BFE5BF;\n" + " }\n\n" + " .journee {\n\n" + " &.ferie, &.weekend, &.ouvre, &.rien {\n\n" + " .contenu {\n" + " background-color: rgba(255, 255, 255, 0.75);\n" + " width: 98%;\n" + " left: 0px;\n" + " text-align: center;\n\n" + " vertical-align: middle;\n\n\n" + " a, a:link, a:visited {\n" + " text-decoration: none;\n" + " color: #3C4B83;\n" + " margin-bottom: 5px;\n" + " font-weight: bold;\n" + " }\n\n" + " a:hover {\n" + " text-decoration: underline;\n" + " }\n\n" + " p {\n" + " margin: 0;\n" + " }\n" + " }\n" + " }\n\n" + " &.rien {\n" + " background-color: @colrien;\n" + " }\n\n" + " &.weekend {\n" + " background-color: @colweekend;\n" + " }\n\n" + " &.ouvre {\n" + " background-color: @coldisp;\n" + " }\n\n" + " &.rsvt {\n" + " background-color: @colreservations;\n\n" + " .contenu {\n" + " .descjourhoraires {\n" + " color: @colhoraires;\n" + " font-weight: bold;\n" + " }\n" + " }\n" + " }\n\n" + " &.conge {\n" + " background-color: @colconges;\n" + " }\n\n" + " &.ferie {\n" + " background-color: @colferie;\n" + " }\n\n" + " &.conge, &.rsvt {\n\n" + " img {\n" + " float: left;\n" + " margin: 1px -16px 1px 1px;\n\n" + " }\n\n" + " &.matin, &.aprem {\n" + " border-left: dotted 1px #AAA;\n\n" + " .contenu {\n" + " width: 96%;\n" + " }\n" + " }\n\n" + " &.matin {\n" + " width: 49%;\n" + " float: left;\n" + " }\n\n" + " &.aprem {\n" + " width: 51%;\n" + " float: right;\n" + " }\n" + " }\n" + " }\n" + "}\n\n\n\n" + "/* Conges par secteurs */\n" + "#grid_congesSecteur {\n" + " .x-grid-cell-inner {\n" + " height: 40px;\n\n" + " .journee {\n" + " display: block;\n" + " width: 100%;\n" + " height: 100%;\n" + " border-style: dotted !important;\n" + " border-width: 1px !important;\n\n" + "/* &.ouvre {\n" + " background-color: #EEE;\n" + " }*/\n\n" + " &.ferie {\n" + " background-color: #9CF;\n" + " border-color: #00F;\n" + " }\n\n" + " &.weekend {\n" + "/* background-color: #F28282;\n" + " border-color: #000;\n" + "*/ background-color: rgba(200, 200, 200, 0.17);\n" + " border: none !important;\n" + " }\n\n" + " &.conge {\n" + " background-color: #FAA;\n" + " border-color: #F00;\n\n" + " &.jour {\n\n" + " }\n\n" + " &.matin {\n" + " width: 50%;\n" + " float: left;\n" + " /*\n" + " height: 50%;\n" + " margin-bottom: 50%;\n" + " */\n" + " background-color: #FFAA66;\n" + " }\n\n" + " &.aprem {\n" + " width: 50%;\n" + " float: right;\n" + " /*\n" + " height: 50%;\n" + " margin-top: 50%;\n" + " */\n" + " background-color: #FF7575;\n" + " }\n" + " }\n\n" + " &.travail {\n" + " background-color: #AFA;\n" + " border-color: #0F0;\n" + " }\n\n" + " &.rien {\n" + " border: none !important;\n" + " }\n\n" + " }\n\n" + " .nom_technicien {\n" + " text-align: right;\n" + " margin-right: 5px;\n\n" + " a {\n" + " text-decoration: none;\n\n" + " &:link, &:visited {\n" + " color: #3C4B83\n" + " }\n" + " }\n" + " }\n\n" + " .actions_technicien {\n" + " float: right;\n" + " padding: 5px;\n" + " }\n" + " }\n\n" + " .x-column-header {\n" + " &.aujourdhui, &.ferie, &.weekend, &.aujourdhui .x-column-header-text, &.ferie .x-column-header-text, &.weekend .x-column-header-text {\n" + " font-weight: normal;\n" + " color: #000;\n" + " }\n\n" + " &.aujourdhui {\n" + " .degradev (#F88, #F00);\n" + " }\n\n" + " &.ferie {\n" + " .degradev (#E9E9FF, #D3D4FF);\n" + " }\n\n" + " &.weekend {\n" + " .degradev (#E9E9E9, #D3D4D6);\n" + " }\n" + " }\n" + "}\n\n\n" + "/* ACCUEIL */\n" + "#grid_activite {\n" + "// .x-grid-row .x-grid-cell {\n" + " .x-grid-data-row .x-grid-cell {\n" + " vertical-align: middle;\n" + " }\n" + "}\n\n" + "/*.x-grid-row .x-grid-cell .aujourdhui {*/\n" + ".x-grid-data-row .x-grid-cell.aujourdhui {\n" + " .activite, .reunion {\n" + " .contenu {\n" + " background-color: rgba(255, 255, 255, 0.85);\n" + " }\n" + " }\n" + "}\n\n" + ".lbl_sem {\n" + " font-size: 24px;\n" + " font-weight: bold;\n" + "}\n\n\n" + ".x-column-header {\n" + " &.aujourdhui, &.ferie, &.weekend, &.aujourdhui .x-column-header-text, &.ferie .x-column-header-text, &.weekend .x-column-header-text {\n" + " font-weight: bold;\n" + " color: #FFF;\n" + " .x-column-header-over {\n" + " color: #000;\n" + " }\n" + " }\n\n" + " &.aujourdhui {\n" + " .degradev (#F88, #F00);\n" + " }\n\n" + " &.ferie {\n" + " .degradev (#88F, #00F);\n" + " }\n\n" + " &.weekend {\n" + " .degradev (#F88, #F00);\n" + " }\n" + "}\n\n" + ".action.email, .action.conges {\n" + " margin-right: 10px;\n" + " margin-top: 5px;\n" + " float: right;\n" + "}\n\n" + ".x-grid-cell-inner,\n" + ".x-grid-group-hd {\n" + " .x-grid-group-title .technicien, .x-grid-group-title .materiel {\n" + " display: inline-block;\n" + " width: 100%;\n\n" + " .nomprenom, .description {\n" + " display: inline-block;\n" + " padding-left: 27px;\n\n" + " img {\n" + " vertical-align: middle;\n" + " margin: 0px 2px 3px 0px;\n" + " }\n" + " }\n\n" + " .actions {\n" + " display: inline-block;\n" + " float: right;\n\n" + " .secteur, .tpstrav {\n" + " margin-right: 20px;\n" + " display: inline-block;\n" + " }\n\n" + " .tpstrav {\n" + " min-width: 50px;\n" + " }\n\n" + " .secteur {\n" + " min-width: 180px;\n" + " }\n\n" + " .code {\n" + " min-width: 40px;\n" + " display: inline-block;\n" + " }\n\n" + " .tpstrav + a {\n" + " min-width: 90px;\n" + " }\n\n" + " .tpstrav + a, .tpstrav + a {\n" + " display: inline-block;\n" + " }\n\n" + " .telephone {\n" + " &.bureau {\n" + " background-image: url(\"../resources/images/telephone_16x16.png\");\n" + " min-width: 70px;\n" + " }\n\n" + " &.portable {\n" + " background-image: url(\"../resources/images/phone_16x16.png\");\n" + " min-width: 106px;\n" + " }\n" + " background-position: 0 50%;\n" + " background-repeat: no-repeat;\n" + " padding-left: 20px;\n" + " display: inline-block;\n" + " }\n\n" + " .envoisms {\n" + " margin-right: 20px;\n\n" + " img {\n" + " vertical-align: middle;\n" + " }\n" + " }\n" + " }\n" + " }\n\n" + " > .technicien, > .materiel {\n" + " display: none;\n" + " }\n\n" + " > .email {\n" + " float: right;\n" + " margin: 5px;\n" + " }\n" + "}\n\n" + "#grid_social_contrats,\n" + "#grid_social_dashboard,\n" + "#grid_social_historique,\n" + "#grid_suivi_donnees_journalieres,\n" + "#grid_suivi_donnees_hebdomadaires,\n" + "#form_suivi_donnees_mensuelles,\n" + "#grid_suivi_synthese {\n" + " .x-grid-cell-inner { /*,\n" + " .x-grid-group-hd {*/\n" + " padding: 2px 6px 4px !important;\n" + " }\n\n" + "// .x-grid-row, .x-grid-row-summary {\n" + " .x-grid-data-row, .x-grid-row-summary {\n" + " height: 24px;\n\n" + " .x-grid-cell {\n" + " vertical-align: middle;\n" + " }\n\n" + " &.weekend {\n" + " .x-grid-cell-inner {\n" + " color: #600;\n" + " }\n" + " }\n" + " }\n\n" + " .x-grid-row-editor {\n" + " height: 29px !important;\n\n" + " .x-panel-body {\n" + " height: 29px !important;\n" + " display: table-cell;\n" + " vertical-align: middle;\n\n" + " .x-form-text,\n" + " .x-form-display-field {\n" + " text-align: center;\n" + " font-size: 13px;\n" + " }\n" + " }\n\n" + " .x-grid-row-editor-buttons {\n" + " top: 28px !important;\n" + " }\n" + " }\n\n" + " #txt_suivi_commentaire .x-form-item-label {\n" + " margin-bottom: 5px;\n" + " }\n\n" + " #lbl_suivi_erreur-inputEl {\n" + " color: #C00;\n" + " font-weight: bold;\n" + " }\n" + "}\n\n" + "// annule le padding pour les groupes et remplace par un padding pour le texte des groupes\n" + "#grid_social_contrats {\n" + " .x-grid-group-hd {\n" + " padding: 0px !important;\n\n" + " .x-grid-group-title {\n" + " padding: 2px 6px 4px !important;\n" + " }\n" + " }\n" + "}\n\n" + "#grid_social_dashboard {\n" + " .x-grid-group-hd {\n" + " padding-left: 8px !important;\n" + " background-color: #2F323F !important;\n" + " .degradeh(#2f323f, #2e65a7, #2f323f);\n\n" + " .x-grid-group-title {\n" + " height: 28px;\n" + " line-height: 28px;\n" + " }\n" + " }\n" + "}\n\n\n" + "li img.suivi {\n" + " float: right;\n" + " margin-top: 2px;\n" + "}\n\n" + "table.x-field {\n" + " input[type=text] {\n" + " background-repeat: no-repeat;\n" + " background-position: right center;\n" + " background-origin: content-box;\n" + " padding-right: 2px;\n" + " }\n\n" + " &.A {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_A.png\");\n" + " }\n" + " }\n" + " &.F {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_F.png\");\n" + " }\n" + " }\n" + " &.N {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_N.png\");\n" + " }\n" + " }\n" + " &.P {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_P.png\");\n" + " }\n" + " }\n" + " &.R {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_R.png\");\n" + " }\n" + " }\n" + " &.V {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_V.png\");\n" + " }\n" + " }\n" + " &.X {\n" + " input[type=text] {\n" + " background-image: url(\"../resources/images/etat_X.png\");\n" + " }\n" + " }\n" + "}\n\n\n\n" + "#menu_adherent {\n\n\n" + " .x-grid-group-title {\n" + " padding: 0px 10px;\n" + " }\n\n\n\n" + " //mot de passe\n" + " #grid_adh_connexionsinternet {\n" + " .x-grid-cell-headerId-col_adh_CIN_PASSE,\n" + " .x-grid-cell-headerId-col_adh_CIN_ID {\n" + " .x-grid-cell-inner {\n" + " font-family: \"Courier New\", Courier, monospace !important;\n" + " text-align: center !important;\n" + " }\n" + " }\n\n" + " .x-grid-cell-inner {\n" + " line-height: 18px;\n" + " white-space: normal;\n" + " }\n" + " }\n\n\n\n\n" + " #grid_techniciens .x-grid-cell-inner {\n" + " padding: 2px !important;\n" + " }\n\n" + " /*\n" + " #img_adh_facturation_etat {\n" + " margin: 5px 5px 5px 20px;\n" + " }\n" + " */\n\n" + " /*\n" + " #fieldset_adh_facturation td {\n" + " vertical-align: middle;\n" + " }\n" + " */\n\n" + " #grid_adh_exercices {\n" + " .x-grid-cell {\n" + " vertical-align: middle;\n\n" + " .x-grid-cell-inner {\n" + " height: 24px;\n" + " line-height: 24px;\n" + " padding: 2px !important;\n\n" + " .jauge {\n" + " /*margin-top: 1px;*/\n\n\n" + " .green_progress_bar .x-progress-bar {\n" + " .degradev (#9AC795, #79BF71 50%, #69BA5F 51%, #58B54E);\n" + " background-color: #68BA5F;\n" + " border-right-color: #5BA852;\n" + " border-top-color: #AAC7A7;\n" + " }\n\n\n" + " }\n" + " }\n" + " }\n" + " }\n\n" + " /*\n" + " #form_adh_etatcivil {\n" + " #txt_adh_etatcivil_designation {\n" + " .x-form-display-field {\n" + " font-weight: bold;\n" + " font-size: 18px;\n" + " padding: 0px;\n" + " }\n" + " }\n" + " }\n" + " */\n\n" + " #grid_adh_techniciens, #form_adh_etatcivil, #grid_adh_associes, #grid_adh_interventions {\n" + " .champ_email, .rien {\n" + " text-decoration: none;\n\n" + " /*float: right;*/\n" + " img {\n" + " display: inline-block;\n" + " }\n" + " }\n\n" + " .champ_email_text .x-form-display-field {\n" + " /*padding: 0px;*/\n" + " margin: 0px;\n\n" + " img {\n" + " margin-left: 10px;\n" + " position: relative;\n" + " bottom: -3px;\n" + " }\n" + " }\n" + " }\n\n" + " #grid_adh_interventions {\n" + " .x-grid-cell-inner {\n" + " white-space: normal !important;\n" + " }\n" + " }\n" + "}\n\n" + ".aucuneactivite .x-grid-rowbody {\n" + " color: #AAA;\n" + " padding: 0.75em;\n" + " text-align: center;\n" + "}\n" + ".activite.aucuneactivite, .reunion.aucuneactivite {\n" + " color: #AAA;\n" + " text-align: center;\n" + " font: normal normal 400 11px/13px Tahoma;\n" + "}\n\n\n\n" + ".x-grid-group-title {\n" + " .headertec, .headerreunion {\n" + " padding: 0px 5px;\n" + " height: 26px;\n\n" + " &.ferme, &.ouvert {\n" + " background-position: 4px 50%;\n" + " background-repeat: no-repeat;\n" + " }\n\n" + " background-image: none;\n\n" + " &.ferme {\n" + " background-image: url(\"../resources/images/expand_16x16.png\");\n" + " }\n\n" + " &.ouvert {\n" + " background-image: url(\"../resources/images/collapse_16x16.png\");\n" + " }\n" + " }\n" + "}\n\n\n" + "#grandlivre_grid {\n" + "// .x-grid-row .x-grid-cell-inner {\n" + " .x-grid-data-row .x-grid-cell-inner {\n" + " font-size: 13px;\n" + " padding: 5px !important;\n" + " }\n\n" + " .x-grid-group-title {\n" + " font-size: 13px;\n" + " padding: 15px 0px 3px 20px !important;\n" + " line-height: normal;\n" + " height: auto;\n" + " border-top: 2px solid #99BBE8;\n" + " background-color: #E5FFCC !important;\n" + " color: #3764A0;\n" + " background-image: none;\n" + " }\n\n" + " .cgo_signe {\n" + " float: left;\n" + " margin-left: 5px;\n" + " }\n\n" + " .cgo_debit {\n" + " .cgo_currency {\n" + " margin-right: 30px;\n" + " color: #600;\n" + " }\n" + " }\n\n" + " .cgo_credit {\n" + " .cgo_currency {\n" + " margin-right: 5px;\n" + " color: #040;\n" + " }\n" + " }\n\n" + " .x-grid-row.gras .x-grid-cell-inner,\n" + " .x-grid-data-row.gras .x-grid-cell-inner {\n" + " font-size: 13px;\n" + " font-weight: 700 !important;\n" + " }\n" + "}\n\n" + "#menu_planning, #menu_reservationsSemaine {\n" + " .x-grid-group-hd:hover {\n" + " cursor: pointer;\n" + " }\n" + "}\n\n" + "#menupanel .x-grid-cell-inner {\n" + " font-size: 13px;\n" + " line-height: 13px;\n\n" + " .x-tree-node-text {\n" + " font-size: 13px;\n" + " line-height: 14px;\n" + " }\n" + "}\n\n" + ".modifiable:hover {\n" + " background-image: url( \"../resources/images/pencil_16x16.png\" );\n" + " background-repeat: no-repeat;\n" + " background-position: 1% center;\n" + " padding-left: 24px;\n" + "}\n\n" + ".marge_droite_5px {\n" + " margin-right: 5px;\n" + "}\n\n" + "#lbl_suivi_recap, #lbl_suivi_commande {\n\n" + " h3 {\n" + " margin: 0px;\n" + " vertical-align: middle;\n" + " line-height: 25px;\n\n" + " &.big {\n" + " line-height: 50px;\n" + " }\n" + " }\n\n" + " span.salarie, span.mois, span.refcom, span.statutcom {\n" + " color: #900;\n" + " }\n" + "}\n\n" + "/* popup qui apparait dans le planning lors du survol d'un technicien */\n" + "div.pop-up {\n" + " display: none;\n" + " position: fixed;\n" + " padding: 0px 10px 10px 10px;\n" + " background: #eeeeee;\n" + " opacity: 1.0;\n" + " color: #000000;\n" + " border: 1px solid #1a1a1a;\n" + " z-index: 1000;\n\n" + " .entete, .contenant {\n" + " margin: 0px;\n" + " }\n\n" + " .entete {\n" + " .fonctions {\n" + " margin: 0px;\n" + " padding: 0px;\n" + " font-size: 11px;\n" + " list-style-type: none;\n" + " text-align: center\n" + " }\n" + " }\n\n" + " .contenu {\n\n" + " /*background-color: salmon;*/\n\n" + " .photo {\n" + " display: block; /* pour enlever l'espace en dessous de l'image */\n" + " }\n" + " }\n" + "}\n\n" + ".x-selectable, .x-selectable * {\n" + " -moz-user-select: text!important;\n" + " -khtml-user-select: text!important;\n" + "}\n\n\n\n" + "#grid_congesStats {\n" + " .premiereannee {\n" + " &.important {\n" + " font-weight: bold;\n" + " }\n" + " }\n\n" + " .anneessuivantes {\n" + " /*display: none;*/\n" + " .subitem {\n" + " &.n-0 {\n" + " background-color: rgba(255, 255, 255, 0.3);\n" + " }\n\n" + " &.n-1 {\n" + " background-color: rgba(255, 255, 255, 0.4);\n" + " }\n\n" + " &.n-2 {\n" + " background-color: rgba(255, 255, 255, 0.5);\n" + " }\n\n" + " &.n-3 {\n" + " background-color: rgba(255, 255, 255, 0.6);\n" + " }\n\n" + " &.n-4 {\n" + " background-color: rgba(255, 255, 255, 0.7);\n" + " }\n\n" + " &.n-5 {\n" + " background-color: rgba(255, 255, 255, 0.8);\n" + " }\n\n" + " &.n-6 {\n" + " background-color: rgba(255, 255, 255, 0.9);\n" + " }\n" + " }\n\n" + " }\n\n" + " .depart {\n" + " background-color: rgba(255, 0, 0, 0.2);\n" + " }\n\n" + " .intermediaire {\n" + " background-color: rgba(255, 255, 0, 0.2);\n" + " }\n\n" + " .arrivee {\n" + " background-color: rgba(0, 255, 0, 0.2);\n" + " }\n\n" + " .x-docked-summary {\n" + " .x-grid-cell-inner {\n" + " height: 32px;\n" + " line-height: 32px;\n" + " }\n" + " }\n" + "}\n\n\n\n" + ".listright {\n" + " float: right;\n" + " font-family: \"Courier New\", \"Courier\", monospace;\n" + " font-weight: 700;\n" + " color: #888;\n" + "}\n\n" + "img.listright {\n" + " margin-left: 10px;\n" + "}\n\n\n" + ".listeadhitem {\n" + " display: inline-block;\n" + " width: 320px;\n" + "}\n\n\n\n\n" + "/* compatibilité avec Selectize */\n" + "#grid_techniciens {\n" + " .x-docked {\n" + " z-index: auto;\n" + " }\n" + "}\n" + "#toolbar_techniciens {\n" + " &.x-docked {\n" + " z-index: auto;\n" + " }\n\n" + " &.x-box-layout-ct {\n" + " overflow: visible;\n" + " }\n\n" + " #toolbar_techniciens-innerCt {\n" + " &.x-box-inner {\n" + " overflow: visible;\n" + " }\n" + " }\n" + "}\n" + ".selectize-control.cgo-native-text-input .selectize-dropdown {\n" + " .nomprenom, .email {\n" + " font-size: 12px;\n" + " opacity: 0.5;\n" + " float: right;\n" + " }\n\n" + " .nomprenom {\n" + " width: 150px;\n" + " }\n\n" + " .email {\n" + " width: 160px;\n" + " }\n" + "}\n\n\n" + ".negatif {\n" + " color: #F00;\n" + " font-weight: bold;\n" + "}\n\n" + "pre.insee {\n" + " margin: 0px 0px 0px 10px;\n" + " font-size: 0.85em;\n" + " color: #666;\n" + " .degradeh( rgba(255,255,255,0) 0%, #E6E6E6 50%, rgba(255,255,255,0) 100% );\n" + "}\n\n" + "pre.identifiant {\n" + " margin: 0px;\n" + "}\n\n" + "span.invalide {\n" + " color: red;\n" + "}\n\n" + "img.centrelignenormale {\n" + " position: relative;\n" + " top: 2px;\n" + "}\n"; final Pattern pattern = Pattern.compile(regex); 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