Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

Test String

Code Generator

Generated Code

$re = '/\bCUI\b/mxsuUJD'; $str = '/** Contributors: Charles Staich Match Confidence: Low Language: Regular Expressions (regex) Language Version: Flags: Purpose: Match CUI Basic and CUI Specified. Note the importance of evaluating multiple possible labels, such that CUI Specified may also be considered if this pattern matches. CUI Specified requires *at least* the same protections as CUI Basic (citation needed). Assumptions: CUI Basic and CUI Specified documents contain the phrase \'CUI\' Plain English Pattern Narrative: Case sensitive, and does not match \'cui\'. Indiscriminately matches any single instance of the word* \'CUI\' without any additional qualifiers, context, or markings necessary (Low Confidence) Capturing Group(s): None Definitions: Word: A string of alphanumeric characters surrounded by word boundaries (\\b). Comments: Do not use this in Production without heavy testing. I realize now why the community has taken to using the word cooey. I\'m certain there have been many collective hours spent reviewing false positive matches they created through filing standards, policy, communications, and documentation. **/ // PATTERN: \\bCUI\\b // POSITIVE CASES: CUI asdf CUI jkl; This document does not contain CUI. This portal is not permitted to be used for transferring CUI. No CUI allowed. ===CUI=== (CUI) ***CUI*** ^CUI^ !CUI! ~CUI~ CUI//SP-TEST CUI//TEST // NEGATIVE CASES: cui 0CUI- ACUI* -CUI2 CUi CuI cUI AAACUIAAA Cooey Circuit CIRCUIT CUISP '; 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