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
No Match

/
/
gm

Test String

Code Generator

Generated Code

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r"(?m)^[^\d]?(?:(\d\d)[^\d]?(\d\d)[^\d]?(\d\d)(\.[\d\w]{1,}){0,1})(.*)$").unwrap(); let string = "123456.123abc 00 24 13.13456789 Scopes of Bids (Multiple Contracts) 00 24 13.16 Scopes of Bids (Multiple-Prime Contract) 00 00 00 Procurement and Contracting Requirements 00 01 01 Project Title Page 00 01 05 Certifications Page 00 01 07 Seals Page 00 01 10 Table of Contents 00 01 15 List of Drawing Sheets 00 01 20 List of Schedules 00 10 00 Solicitation 00 11 00 Advertisements and Invitations 00 11 13 Advertisement for Bids 00 11 16 Invitation to Bid 00 11 19 Request for Proposal 00 11 53 Request for Qualifications 00 20 00 Instructions for Procurement 00 21 00 Instructions 00 21 13 Instructions to Bidders 00 21 16 Instructions to Proposers 00 22 00 Supplementary Instructions 00 22 13 Supplementary Instructions to Bidders 00 22 16 Supplementary Instructions to Proposers 00 23 00 Procurement Definitions 00 24 00 Procurement Scopes 00 24 13 Scopes of Bids "; // result will be an iterator over tuples containing the start and end indices for each match in the string let result = regex.captures_iter(string); for mat in result { println!("{:?}", mat); } }

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 Rust, please visit: https://docs.rs/regex/latest/regex/