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

// 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)lat").unwrap(); let string = "# Degrees minutes # \\d+\\W+\\d+\\W+\\d+\\.?\\d* \"-77.566296, 41.471044\" 5234098, 29384 40° 37' 03.620\\\" N 39.9153 N 78.3405 W CORNPLANTER BRIDGE QUAD.--LAT. 41-48-18.41--LONG. -78-52-51.26 LUDLOW QUAD--LAT.41-39-16.0500--LONG.-78-55-11.1200 LAT 41-45-00 LONG 75-50-00 LAT 41.73381944 LONG -75.87685278 Ref Latitude 41 81833 - Ref Longitude -75 15167 LAT 41 56' 11.28\\\" N--LON 76 52' 03.36\\\" W [891] \"McNett TOWNSHIP\" [892] \"TWP - Range - Sec\" [893] \"MONETT TOWNSHIP,LYCOMING COUNTY,PA LAT 41 42 12.6700 LAT 41 DEG 43-52-0300 LAT 41.4122917 Latitude: 40.752 N Lat. 40.72617600* N Longitude: 80-24-41 W Latitude: 40.653407 N LAT: 40.687574 LAT LAT: 40-50-13.7000 Latitude: 40.83721N LATITUDE Latitude 39-53-12.33 N LATITUDE 39-53.442319 N Latitude 39-53-43.26 N Latitude 39.8949 N LAT: 41-43-26.9600 N LAT: 41-43-29.83 LAT: 41*51'42.99\\\" N LAT: 41-46-9.8700 N LATITUDE: 41* 42' 40.19\\\" 41-42-40.19 LAT API # 37-015-208801-00--X=2201217.34E Y=632183.50N--LAT\" 03-029-01"; // 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/