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

/
/
gm

Test String

Code Generator

Generated Code

$re = '/\"tag\":\"(?<tag>[^\"]*)/m'; $str = '{"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":"Majestic12","action":"monitor","selector":"","tag":"AKAMAI/BOT/AKAMAI_CATEGORIZED","id":"3991006","message":"Web Search Engine Bots","version":"1"},{"data":"WEBSCRP=5","action":"alert","selector":"","tag":"REPUTATION","id":"REP_2817425","message":"Web Scrapers (Low Threat)","version":""}],"clientReputation":"ID=2a01:4f9:1a:aba3::;WEBSCRP=5","configId":"79391", {"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":"","action":"monitor","selector":"&REQUEST_HEADERS:Accept-Encoding","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900003","message":"Missing Accept-Encoding Header","version":"1"},{"data":"Request from Cloud IaaS, ASNUM 24940" {"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":" /bin/cat","action":"alert","selector":"REQUEST_HEADERS:User-Agent","tag":"ASE/WEB_ATTACK/CMDI","id":"3000005","message":"CMD Injection Attack Detected","version":"1"},{"data":"() { :; }; ech","action":"alert"," {"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":"swiftype.com","action":"monitor","selector":"","tag":"AKAMAI/BOT/AKAMAI_CATEGORIZED","id":"3991017","message":"Enterprise Data Aggregator Bots","version":"1"},{"data":"3 message units per second","action":"alert","selector":"","tag":"IPBLOCK/ADAPTIVE/BURST","id":"IPBLOCK-BURST4-174009","message":"IP 169.46.90.162 recently having excessive BURST qualification(4) rate on category bucket(2,Page View Requests))","version":""} {"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":"","action":"monitor","selector":"","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900005","message":"Missing Referer Header","version":"1"},{"data":"","action":"monitor","selector":"REQUEST_HEADERS:User-Agent","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900020","message":"Chrome Signature Anomaly","version":"1"},{"data":"%(HEADER_ORDER{RULEID})","action":"alert","selector":"","tag":"CUSTOM_AKA/Visibility Rule","id":"60108508","message":"6cb759ebed153546","version":""}],"configId":"79391","policyId":"1765_152119", {"type":"akamai_siem","format":"json","version":"1.0","attackData":{"rules":[{"data":"","action":"monitor","selector":"&REQUEST_HEADERS:Accept-Encoding","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900003","message":"Missing Accept-Encoding Header","version":"1"},{"data":"","action":"monitor","selector":"&REQUEST_HEADERS:Cookie","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900006","message":"Missing Cookie Header","version":"1"},{"data":"Request from Cloud IaaS, ASNUM 24940","action":"monitor","selector":"","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900013","message":"Originates from Cloud IaaS Provider Network","version":"1"},{"data":"","action":"monitor","selector":"REQUEST_HEADERS:User-Agent","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900020","message":"Chrome Signature Anomaly","version":"1"},{"data":"","action":"monitor","selector":"REQUEST_HEADERS:User-Agent","tag":"AKAMAI/BOT/REQUEST_ANOMALY","id":"3900021","message":"Chrome Version Anomaly","version":"1"},{"data":"Bot_C19B02BF5C1DCDC636B02EC053B5FF0C","action":"monitor","selector":"","tag":"AKAMAI/BOT/UNKNOWN_BOT","id":"BOT-ANOMALY-HEADER","message":"Unknown Bots (Request Anomaly)","version":"1"},{"data":"","action":"alert","selector":"","tag":"AKAMAI/WAF/PENALTYBOX","id":"IPBLOCK-PENALTY-BOX","message":"Client IP+UA 65.108.195.47 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom recently violated a web application firewall rule","version":""},{"data":"WEBATCK=5","action":"alert","selector":"","tag":"REPUTATION","id":"REP_2817419","message":"Web Attackers (Low Threat)","version":""},{"data":"SCANTL=5","action":"alert","selector":"","tag":"REPUTATION","id":"REP_2817423",'; 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