Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • 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

/
/
gs

Test String

Substitution

Processing...

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 = "(?<System1>SYSTEM *\\n *?TYPE *= )HP(?<System2>.*?FURNACE-HIR +?= [.0-9]+)\\n(?<System3>.*?\\.\\.\\n)(?<ZoneName>\\\".*?\\\")"; final String string = "\"EL1 Sys1 (PTAC) (G.SSW1)\" = SYSTEM \n" + " TYPE = PSZ\n" + " HEAT-SOURCE = HEAT-PUMP\n" + " ZONE-HEAT-SOURCE = NONE\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " HP-SUPP-SOURCE = NONE\n" + " FURNACE-HIR = 1.24067\n" + " CONTROL-ZONE = \"EL1 SSW Perim Zn (G.SSW1)\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 SSW Perim Zn (G.SSW1)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 SSW Perim Spc (G.SSW1)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 SSW Perim Pl Zn (G.SSW38)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 SSW Perim Plnm (G.SSW38)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W2)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W2)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " BASEBOARD-RATING = -20481.2\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " SPACE = \"EL1 West Perim Spc (G.W2)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 West Perim Pl Zn (G.W39)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Plnm (G.W39)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W3)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W3)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " BASEBOARD-RATING = -20778.4\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Spc (G.W3)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 West Perim Pl Zn (G.W40)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Plnm (G.W40)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W4)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W4)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " BASEBOARD-RATING = -20671\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Spc (G.W4)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 West Perim Pl Zn (G.W41)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Plnm (G.W41)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W5)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W5)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " BASEBOARD-RATING = -20649.5\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Spc (G.W5)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 West Perim Pl Zn (G.W42)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Plnm (G.W42)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W6)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W6)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " BASEBOARD-RATING = -20499.1\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Spc (G.W6)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " ..\n" + "\"EL1 West Perim Pl Zn (G.W43)\" = ZONE \n" + " TYPE = UNCONDITIONED\n" + " DESIGN-HEAT-T = 72\n" + " DESIGN-COOL-T = 81\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Plnm (G.W43)\"\n" + " ..\n" + "\"EL1 Sys1 (PTAC) (G.W7)\" = SYSTEM \n" + " TYPE = HP\n" + " SIZING-RATIO = 1\n" + " COOL-SIZING-RATI = 1\n" + " MIN-SUPPLY-T = 58\n" + " FAN-SCHEDULE = \"S1 Sys1 (PTAC) Fan Sch\"\n" + " CW-LOOP = \"DEFAULT-CW\"\n" + " COOLING-CAPACITY = 15752\n" + " COOL-SH-CAP = 11839\n" + " FURNACE-HIR = 1.24067\n" + " HEAT-ELEC-METER = \"Electric Meter 2\"\n" + " COOL-ELEC-METER = \"Electric Meter 2\"\n" + " C-EER95 = 8.24\n" + " C-COP47 = 0.78\n" + " C-AFUE = 0.78\n" + " C-SF-MTR-TYPE = 1\n" + " C-RF-MTR-TYPE = 1\n" + " C-OSA-DMPR-CTRL = 1\n" + " C-HTG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-HTG-DUCT-RVAL = 7\n" + " C-CLG-DUCT-LOCN = *Ceiling Plenum*\n" + " C-CLG-DUCT-RVAL = 7\n" + " C-CLG-CAP-CATEG = 14\n" + " ..\n" + "\"EL1 West Perim Zn (G.W7)\" = ZONE \n" + " TYPE = CONDITIONED\n" + " MIN-FLOW-RATIO = 1\n" + " BASEBOARD-RATING = -20649.5\n" + " FLOW/AREA = 0.5\n" + " OUTSIDE-AIR-FLOW = 96\n" + " EXHAUST-FLOW = 80\n" + " DESIGN-HEAT-T = 72\n" + " HEAT-TEMP-SCH = \"S1 Sys1 (PTAC) Heat Sch\"\n" + " DESIGN-COOL-T = 75\n" + " COOL-TEMP-SCH = \"S1 Sys1 (PTAC) Cool Sch\"\n" + " BASEBOARD-CTRL = THERMOSTATIC\n" + " SIZING-OPTION = ADJUST-LOADS\n" + " SPACE = \"EL1 West Perim Spc (G.W7)\"\n" + " C-COMPLIANCE-DHW = \"Res Compliance DHW\"\n" + " .."; final String subst = "${System1}PSZ${System2}\\n CONTROL-ZONE = ${ZoneName}\\n${System3}${ZoneName}"; final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + 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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html