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

Code Generator

Generated Code

$re = '/(%Viptela)-([A-Za-z_0-9]*\-\d)-([A-Za-z_0-9]*)-(\d)-([A-Z]{4})-(\d*):/m'; $str = 'SYSMGR[318]: %Viptela-vmanage-1-sysmgrd-6-INFO-1400002: Notification: 5/14/2017 13:37:5 disk-usage severity-level: major host-name: "vmanage-1" system-ip:1.1.5.1 warning: "Disk usage is above 75%. Please clean up unnecessary files." total-mb: total-mb: 15970 free-mb:6343 SYSMGR[318]: %Viptela-vmanage-1-sysmgrd-6-INFO-1400002: Notification: 5/14/2017 13:14:36 memory-usage severity-level :major host-name: "vmanage-1" system-ip:1.1.5. 1 warning: "System memory usage is above 90% ( critically high)" total-mb:3905 free-mb:390 VDAEMON_0[422]: %Viptela-vsmart-1-vdaemon_0-6-INFO-1400002: Notification: 1/1/2017 14:15:36 security-certificate- expired severity-level:major host-name:" vsmart-1" system-ip:1.1.3.1 VDAEMON_0[422]: %Viptela-vsmart-1-vdaemon_0-6-INFO-1400002: Notification: 1/1/2017 13:22:1 control-connection-auth-fail severity-level:major host-name: "vsmart-1" system-ip:1.1.3.1 personality:vsmart peer-type:vsmart peer- system-ip:1.1.4.1 local-system-p:1.1.3.1 local-color:default reason: "ERR_CERT_VER_ FAIL CHMGR[443]: %Viptela-vEdge44-1-chmgrd-6-INFO-1400002: Notification : 5/4/2017 12:56:1 tempsensor-state severity- level:major host-name: "vEdge44-1" system-ip:1 .1.44.1 hw-sensor-type:Board hw-dev-index:0 name: "Board" temp:85 sensor-new -state:Yellow FTM[597]: %Viptela-vEdge204-1-ftmd-6-INFO-1400002: Notification : 4/30/2017 5:37:4 interface-bw severity-level: major host-name: "vEdge204-1" system-ip:1.1. 204.1 vpn-id:0 if-name: "ge0/1" if-cfg-bw-kbps:100000 traffic-direction: downstream duration:300 '; 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