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)^https:\/\/(?!.*\.clmbtech).*(?<!resources|shop|www|img|media\d)\.mensxp\.com\/(?!user|acms).*").unwrap(); let string = "https://ade.clmbtech.com/cde/data/v4.htm?id=326762~1~0&_v=0&auds=all,5q6&_u=https%3A//m.mensxp.com/relationships/paternity/53523-gentlemen-here-rsquo-s-the-perfect-father-rsquo-s-day-gift-for-your-old-man.html&_t=3&_c=colombiaadCallback&fpc=8426c49b-8cee-4b94-be31-dc832516c339-1slg4&r=x308x346n64&dpv=1&ds=1191 https://ade.clmbtech.com/cde/data/v4.htm?id=326762~1~0&_v=0&auds=all,5q6&_u=https%3A//m.mensxp.com/sports/cricket/51684-pakistan-s-ahmed-shehzad-dropping-a-dolly-then-calling-for-a-review-is-the-funniest-thing-ever.html&_t=3&_c=colombiaadCallback&fpc=05a94bf4-8c22-4014-928d-1165710e6fe8-1sj20&r=i304h214R46&dpv=1&ds=1191 https://m.mensxp.com/acms/jsAds/getContent?ad_classid=727500184&kIeD=-433351922&admid=943709851&blkV=-1149826858 https://m.mensxp.com/social-hits/news/53825-man-offered-lsquo-dad-hugs-rsquo-at-a-pride-parade-to-kids-rejected-by-their-families-won-every-heart.html https://www.mensxp.com/sports/cricket/53836-here-are-all-the-records-england-broke-during-their-decimation-of-afghanistan-at-old-trafford.html https://shop.mensxp.com/?utm_source=mxp&utm_medium=menuhead https://m.mensxp.com/culture.html https://m.mensxp.com/sports/cricket/53836-here-are-all-the-records-england-broke-during-their-decimation-of-afghanistan-at-old-trafford.html https://m.mensxp.com/api/ajax/get-user-activity/53523/save "; // 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/