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 <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "(?m)^(.*)(\r?\n\1)+$" Local $sString = "{"??", "What?"}" & @CRLF & _ "{"0mg", "Oh My God"}," & @CRLF & _ "{"0wn", "owned"}," & @CRLF & _ "{"10\\/3u", "love you"}," & @CRLF & _ "{"13wt", "Loot"}," & @CRLF & _ "{"2", "too"}," & @CRLF & _ "{"31337", "elite"}," & @CRLF & _ "{"4tw", "for the win"}," & @CRLF & _ "{"A&D", "Attack and Defend"}," & @CRLF & _ "{"AFAIK", "As Far As I Know"}," & @CRLF & _ "{"AFK", "Away from keyboard"}," & @CRLF & _ "{"ASL", "Age Sex Location"}," & @CRLF & _ "{"ATM", "At The Moment"}," & @CRLF & _ "{"BAF", "Bring A Friend"}," & @CRLF & _ "{"BBIM", "Be Back In a Minute"}," & @CRLF & _ "{"BBL", "Be Back Later"}," & @CRLF & _ "{"BBS", "Be Back Soon"}," & @CRLF & _ "{"BFG", "big fucking gun"}," & @CRLF & _ "{"BRB", "Be Right Back"}," & @CRLF & _ "{"BS", "Bullshit"}," & @CRLF & _ "{"BTW", "By The Way"}," & @CRLF & _ "{"Camper", "Ambush"}," & @CRLF & _ "{"CFT", "Capture the flag"}," & @CRLF & _ "{"CTF", "Capture the Flag"}," & @CRLF & _ "{"CU", "See You"}," & @CRLF & _ "{"d00d", "Dude"}," & @CRLF & _ "{"DM", "Death Match"}," & @CRLF & _ "{"DMG", "Damage"}," & @CRLF & _ "{"dog8", "dog"}," & @CRLF & _ "{"duma**", "idiot"}," & @CRLF & _ "{"eet", "elite"}," & @CRLF & _ "{"em", "Them"}," & @CRLF & _ "{"exp", "experience points"}," & @CRLF & _ "{"EXP", "Experience Points"}," & @CRLF & _ "{"f00", "Fool"}," & @CRLF & _ "{"FAQ", "Frequently Asked Questions"}," & @CRLF & _ "{"FB", "Flash Bang grenade"}," & @CRLF & _ "{"FFA", "Free For All"}," & @CRLF & _ "{"FFS", "For Fuck's Sake"}," & @CRLF & _ "{"FH", "Full Health"}," & @CRLF & _ "{"Flak", "Debris"}," & @CRLF & _ "{"Flame", "Nonstop insulting"}," & @CRLF & _ "{"form", "from"}," & @CRLF & _ "{"FPS", "First Person Shooter"}," & @CRLF & _ "{"fragged", "killed"}," & @CRLF & _ "{"ftw", "for the win"}," & @CRLF & _ "{"G2G", "Got To Go"}," & @CRLF & _ "{"GA", "Go Ahead"}," & @CRLF & _ "{"GD", "God Damn"}," & @CRLF & _ "{"GF", "Good Fight"}," & @CRLF & _ "{"GG", "Good Game"}," & @CRLF & _ "{"GGA", "Good Game All"}," & @CRLF & _ "{"gimme", "Give me"}," & @CRLF & _ "{"GL", "Good Luck"}," & @CRLF & _ "{"Going Gold", "publishing of software"}," & @CRLF & _ "{"grill", "girl"}," & @CRLF & _ "{"guise", "guys"}," & @CRLF & _ "{"h@", "Hat"}," & @CRLF & _ "{"h4x", "hacks"}," & @CRLF & _ "{"h4x0r", "hacker"}," & @CRLF & _ "{"h8", "Hate"}," & @CRLF & _ "{"hai", "hi"}," & @CRLF & _ "{"high-ping bastard", "crappy internet"}," & @CRLF & _ "{"HP", "Health Points"}," & @CRLF & _ "{"IIRC", "If I Recall Correctly"}," & @CRLF & _ "{"IMHO", "In My Honest Opinion"}," & @CRLF & _ "{"IMO", "In My Opinion"}," & @CRLF & _ "{"instagib", "unlimited ammo"}," & @CRLF & _ "{"IRC", "Internet Relay Chat"}," & @CRLF & _ "{"IRL", "In Real Life"}," & @CRLF & _ "{"j0", "Yo!"}," & @CRLF & _ "{"J00", "You!"}," & @CRLF & _ "{"JJ", "Just Joking"}," & @CRLF & _ "{"JK", "Just Kidding"}," & @CRLF & _ "{"kewl", "cool"}," & @CRLF & _ "{"kicked", "banned cheater"}," & @CRLF & _ "{"kk", "ok"}," & @CRLF & _ "{"KOS", "Kill On Sight"}," & @CRLF & _ "{"l@ym", "laughing at your momma"}," & @CRLF & _ "{"l337", "elite"}," & @CRLF & _ "{"l33t", "Elite"}," & @CRLF & _ "{"l4m3r", "lamer"}," & @CRLF & _ "{"level up", "Improving"}," & @CRLF & _ "{"liek", "like"}," & @CRLF & _ "{"lobby", "chat room"}," & @CRLF & _ "{"LOL", "Laughs out loud"}," & @CRLF & _ "{"lopl", "lol"}," & @CRLF & _ "{"low-ping bastard", "fast internet"}," & @CRLF & _ "{"Lvl", "Level"}," & @CRLF & _ "{"m2", "me too"}," & @CRLF & _ "{"m8", "mate"}," & @CRLF & _ "{"Mana", "cast magical spells"}," & @CRLF & _ "{"mastah", "master"}," & @CRLF & _ "{"max0r", "max"}," & @CRLF & _ "{"Med", "Medic"}," & @CRLF & _ "{"meh", "oh well"}," & @CRLF & _ "{"MMORPG", "Massive Multiplayer Online Role Playing Game"}," & @CRLF & _ "{"Mod", "A modification of a game"}," & @CRLF & _ "{"MP", "Multiplayer"}," & @CRLF & _ "{"MTFBWY", "May The Force Be With You"}," & @CRLF & _ "{"n00b", "newbie"}," & @CRLF & _ "{"N1", "Nice one"}," & @CRLF & _ "{"Nade", "Grenade"}," & @CRLF & _ "{"nd", "and"}," & @CRLF & _ "{"Nerfed", "bad bug"}," & @CRLF & _ "{"newb", "newcomer"}," & @CRLF & _ "{"nooblet", "newcomer"}," & @CRLF & _ "{"np", "No problem"}," & @CRLF & _ "{"NT", "nice try"}," & @CRLF & _ "{"OLO", "LOL"}," & @CRLF & _ "{"OMDG", "oh my dance"}," & @CRLF & _ "{"OMFG", "Oh My Fucking God"}," & @CRLF & _ "{"OMG", "oh my god"}," & @CRLF & _ "{"OMGWTFBBQ", "Oh My God What The Fuck Barbecue"}," & @CRLF & _ "{"OMW", "On My Way"}," & @CRLF & _ "{"OOR", "Out Of Range"}," & @CRLF & _ "{"OOS", "Out Of Sight"}," & @CRLF & _ "{"ORLY", "Oh, really?"}," & @CRLF & _ "{"ORLY", "Oh, really?"}," & @CRLF & _ "{"OSOK", "One Shot One Kill"}," & @CRLF & _ "{"own", "own"}," & @CRLF & _ "{"ownage", "superior"}," & @CRLF & _ "{"p0wn", "pawned"}," & @CRLF & _ "{"ph33r", "Fear me"}," & @CRLF & _ "{"phear", "fear"}," & @CRLF & _ "{"PITA", "Pain In The Arse/Ass"}," & @CRLF & _ "{"PK", "Player Killing"}," & @CRLF & _ "{"pl0x", "please"}," & @CRLF & _ "{"PMGZ", "OMG"}," & @CRLF & _ "{"PMSL", "Pissing MySelf Laughing"}," & @CRLF & _ "{"Polishing", "final touches"}," & @CRLF & _ "{"Port", "Teleport"}," & @CRLF & _ "{"powwah", "power"}," & @CRLF & _ "{"Pr0n", "porn"}," & @CRLF & _ "{"pwnage", "superior"}," & @CRLF & _ "{"pwnt", "superior"}," & @CRLF & _ "{"r", "are"}," & @CRLF & _ "{"r0x0r", "dude that rocks!"}," & @CRLF & _ "{"rgr", "Roger"}," & @CRLF & _ "{"ROFL", "Rolls on the floor laughing"}," & @CRLF & _ "{"ROFLMAO", "Rolling On the Floor Laughing My Ass Off"}," & @CRLF & _ "{"rox", "Rocks"}," & @CRLF & _ "{"RP", "Role Play"}," & @CRLF & _ "{"RPG", "Role-Playing Game"}," & @CRLF & _ "{"RT", "Roger That"}," & @CRLF & _ "{"RTFM", "Read the f***ing manual"}," & @CRLF & _ "{"RTS", "Real-Time Strategy"}," & @CRLF & _ "{"Sig", "Signature"}," & @CRLF & _ "{"sk1llz", "Skills"}," & @CRLF & _ "{"Slug", "A large, non-self-propelled projectile"}," & @CRLF & _ "{"smat", "smart"}," & @CRLF & _ "{"SP", "Single Player"}," & @CRLF & _ "{"Spam", "Repeatedly messaging the same messages"}," & @CRLF & _ "{"spawn", "reborn"}," & @CRLF & _ "{"sry", "Sorry"}," & @CRLF & _ "{"STFU", "Shut The Fuck UP"}," & @CRLF & _ "{"sup", "What's Up"}," & @CRLF & _ "{"sux0r", "Sucks"}," & @CRLF & _ "{"taunt", "Provoking"}," & @CRLF & _ "{"TBH", "To Be Honest"}," & @CRLF & _ "{"teh", "the"}," & @CRLF & _ "{"Thx", "Thanks"}," & @CRLF & _ "{"TPS", "Third Person Shooter"}," & @CRLF & _ "{"Ty", "Thank you"}," & @CRLF & _ "{"u", "you"}," & @CRLF & _ "{"w8", "wait"}," & @CRLF & _ "{"wat", "what"}," & @CRLF & _ "{"WB", "Welcome Back"}," & @CRLF & _ "{"wen", "when"}," & @CRLF & _ "{"whut", "what"}," & @CRLF & _ "{"winnar", "winner"}," & @CRLF & _ "{"wot", "what"}," & @CRLF & _ "{"WTF", "What the f***?"}," & @CRLF & _ "{"WTG", "Way To Go"}," & @CRLF & _ "{"WYG", "What You Got?"}," & @CRLF & _ "{"y", "why"}," & @CRLF & _ "{"ya", "yeah"}," & @CRLF & _ "{"yass", "yes"}," & @CRLF & _ "{"yea", "yeah"}," & @CRLF & _ "{"yos", "yes"}," & @CRLF & _ "{"yus", "yes"}," & @CRLF & _ "{"ZPMG", "OMG"}," Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "Result")

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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm