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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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

/
/
gmi

Test String

Code Generator

Generated Code

$re = '/\b(?:[er])?(?:(?:[abcd]x)|(?:ip)|[per]?(?:[sb]p|[sd]i))\b|\b(?:[sb]p|[sd]i)l?\b|\b[abcd][hl]\b|\bmsw\b|\bmxcsr\b|\b(?:r(?:1[0-5]|[0-9])[wdb])\b|\b(?:[cd]?r(?:1[0-5]|[0-9]))\b|\b[cst]w\b|\b[csdefg]s\b|\bfp_(?:[id]p|[cd]s|opc)\b|\b(?:[gil]d)?tr\b|\b(?:[er])?flags\b|\b(?:mm[0-7])\b|\b(?:[xy]mm(?:1[0-5]|[0-9]))\b|\b(?:zmm(?:3[0-2]|2[0-9]|1[0-9]|[0-9]))\b|(?:\bst[0-7]\b|(?:\bst\b\([0-7]\)))/mi'; $str = 'ZMM0 YMM0 XMM0 ZMM1 YMM1 XMM1 ZMM2 YMM2 XMM2 ZMM3 YMM3 XMM3 ZMM4 YMM4 XMM4 ZMM5 YMM5 XMM5 ZMM6 YMM6 XMM6 ZMM7 YMM7 XMM7 ZMM8 YMM8 XMM8 ZMM9 YMM9 XMM9 ZMM10 YMM10 XMM10 ZMM11 YMM11 XMM11 ZMM12 YMM12 XMM12 ZMM13 YMM13 XMM13 ZMM14 YMM14 XMM14 ZMM15 YMM15 XMM15 ZMM16 ZMM17 ZMM18 ZMM19 ZMM20 ZMM21 ZMM22 ZMM23 ZMM24 ZMM25 ZMM26 ZMM27 ZMM28 ZMM29 ZMM30 ZMM31 ST(0) MM0 ST(1) MM1 ST(2) MM2 ST(3) MM3 ST(4) MM4 ST(5) MM5 ST(6) MM6 ST(7) MM7 CW st0 st1 st2 st3 st4 st5 st6 st7 FP_IP FP_DP FP_CS SW TW FP_DS FP_OPC FP_DP FP_IP RAX EAX AX AH AL RBX EBX BX BH BL RCX ECX CX CH CL RDX EDX DX DH DL R8 R8D R8W R8B R9 R9D R9W R9B R10 R10D R10W R10B R11 R11D R11W R11B R12 R12D R12W R12B R13 R13D R13W R13B R14 R14D R14W R14B R15 R15D R15W R15B RBP EBP BP BPL RDI EDI DI DIL RIP EIP IP RSI ESI SI SIL RSP ESP SP SPL CR0 MSW CR1 CR2 CR3 MXCSR CR4 CR5 CR6 CR7 CR8 CR9 CR10 CR11 CR12 CR13 CR14 CR15 DR0 DR1 DR2 DR3 DR4 DR5 DR6 DR7 DR8 DR9 DR10 DR11 DR12 DR13 DR14 DR15 CS DS ES SS GS FS'; 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