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

/
/
g

Test String

Substitution

Processing...

Code Generator

Generated Code

#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox Local $sRegex = "( \d{1,2})5(\d{2} )" Local $sString = "part1.htm">MiniTOC</a><a class="toc1" " & @CRLF & _ "part2.htm">2/5/18, 4549 PM " & @CRLF & _ "part3.htm">2/7/18, 4516 PM " & @CRLF & _ "part4.htm">2/15/18, 2557 PM " & @CRLF & _ "part5.htm">2/20/18, 2507 PM " & @CRLF & _ "part6.htm">2/21/18, 3502 PM " & @CRLF & _ "part7.htm">2/21/18, 5506 PM " & @CRLF & _ "part8.htm">2/22/18, 10503 AM " & @CRLF & _ "part9.htm">2/22/18, 1543 PM " & @CRLF & _ "part10.htm">2/27/18, 3514 PM " & @CRLF & _ "part11.htm">2/28/18, 2533 PM " & @CRLF & _ "part12.htm">3/1/18, 1515 PM " & @CRLF & _ "part13.htm">3/1/18, 2527 PM " & @CRLF & _ "part14.htm">3/1/18, 6547 PM " & @CRLF & _ "part15.htm">3/1/18, 8557 PM " & @CRLF & _ "part16.htm">3/4/18, 11540 AM " & @CRLF & _ "part17.htm">3/5/18, 4546 PM " & @CRLF & _ "part18.htm">3/6/18, 12548 PM " & @CRLF & _ "part19.htm">3/6/18, 2518 PM " & @CRLF & _ "part20.htm">3/7/18, 12535 PM " & @CRLF & _ "part21.htm">3/8/18, 8500 AM " & @CRLF & _ "part22.htm">3/8/18, 10521 AM " & @CRLF & _ "part23.htm">3/8/18, 12559 PM " & @CRLF & _ "part24.htm">3/9/18, 10540 AM " & @CRLF & _ "part25.htm">3/9/18, 1501 PM " & @CRLF & _ "part26.htm">3/9/18, 6514 PM " & @CRLF & _ "part27.htm">3/12/18, 8514 PM " & @CRLF & _ "part28.htm">3/14/18, 12520 PM " & @CRLF & _ "part29.htm">3/14/18, 2537 PM " & @CRLF & _ "part30.htm">3/15/18, 2514 PM " & @CRLF & _ "part31.htm">3/15/18, 3549 PM " & @CRLF & _ "part32.htm">3/21/18, 11506 AM " & @CRLF & _ "part33.htm">3/22/18, 2518 PM " & @CRLF & _ "part34.htm">3/22/18, 3523 PM " & @CRLF & _ "part35.htm">3/22/18, 4554 PM " & @CRLF & _ "part36.htm">3/26/18, 3543 PM " & @CRLF & _ "part37.htm">4/2/18, 1555 PM " & @CRLF & _ "part38.htm">4/2/18, 4532 PM " & @CRLF & _ "part39.htm">4/5/18, 1557 PM " & @CRLF & _ "part40.htm">4/6/18, 4536 PM " & @CRLF & _ "part41.htm">4/6/18, 5540 PM " & @CRLF & _ "part42.htm">4/6/18, 7501 PM " & @CRLF & _ "part43.htm">4/7/18, 5524 AM " & @CRLF & _ "part44.htm">4/16/18, 12525 PM " & @CRLF & _ "part45.htm">4/17/18, 4502 PM " & @CRLF & _ "part46.htm">4/23/18, 7520 PM " & @CRLF & _ "part47.htm">4/25/18, 3527 PM " & @CRLF & _ "part48.htm">4/25/18, 5513 PM " & @CRLF & _ "part49.htm">4/26/18, 2534 PM " & @CRLF & _ "part50.htm">4/26/18, 6513 PM " & @CRLF & _ "part51.htm">5/1/18, 3523 PM " & @CRLF & _ "part52.htm">5/3/18, 3540 PM " & @CRLF & _ "part53.htm">5/4/18, 12539 PM " & @CRLF & _ "part54.htm">5/8/18, 12539 PM " & @CRLF & _ "part55.htm">5/8/18, 2549 PM " & @CRLF & _ "part56.htm">5/9/18, 12506 PM " & @CRLF & _ "part57.htm">5/15/18, 3525 PM " & @CRLF & _ "part58.htm">5/23/18, 6545 PM " & @CRLF & _ "part59.htm">5/24/18, 2559 PM " & @CRLF & _ "part60.htm">5/24/18, 5523 PM " & @CRLF & _ "part61.htm">5/26/18, 3509 PM " & @CRLF & _ "part62.htm">5/27/18, 11519 AM " & @CRLF & _ "part63.htm">5/30/18, 4554 PM " & @CRLF & _ "part64.htm">5/26/18, 1507 PM " & @CRLF & _ "part65.htm">5/31/18, 2558 PM " & @CRLF & _ "part66.htm">6/7/18, 2546 PM " & @CRLF & _ "part67.htm">6/11/18, 7531 PM " & @CRLF & _ "part68.htm">6/12/18, 10547 AM " & @CRLF & _ "part69.htm">6/12/18, 3529 PM " & @CRLF & _ "part70.htm">6/13/18, 7536 PM " & @CRLF & _ "part71.htm">6/14/18, 3527 PM " & @CRLF & _ "part72.htm">6/19/18, 8507 AM " & @CRLF & _ "part73.htm">6/19/18, 3528 PM " & @CRLF & _ "part74.htm">6/19/18, 5519 PM " & @CRLF & _ "part75.htm">6/20/18, 10507 AM " & @CRLF & _ "part76.htm">6/21/18, 10545 AM " & @CRLF & _ "part77.htm">6/21/18, 12544 PM " & @CRLF & _ "part78.htm">6/21/18, 3534 PM " & @CRLF & _ "part79.htm">6/23/18, 11506 AM " & @CRLF & _ "part80.htm">6/23/18, 3505 PM " & @CRLF & _ "part81.htm">6/23/18, 6500 PM " & @CRLF & _ "part82.htm">6/24/18, 10535 AM " & @CRLF & _ "part83.htm">6/24/18, 12556 PM " & @CRLF & _ "part84.htm">6/25/18, 7517 PM " & @CRLF & _ "part85.htm">6/26/18, 3517 PM " & @CRLF & _ "part86.htm">6/26/18, 4559 PM " & @CRLF & _ "part87.htm">6/27/18, 9551 AM </a><a class="toc1" " & @CRLF & _ "part88.htm">6/27/18, 11532 AM " & @CRLF & _ "part89.htm">6/28/18, 4515 PM </a><a class="toc1" " & @CRLF & _ "part90.htm">7/2/18, 6529 PM " & @CRLF & _ "part91.htm">7/3/18, 3554 PM " & @CRLF & _ "part92.htm">7/3/18, 5545 PM " & @CRLF & _ "part93.htm">7/3/18, 7556 PM " & @CRLF & _ "part94.htm">7/3/18, 9503 PM " & @CRLF & _ "part95.htm">7/7/18, 5531 PM " & @CRLF & _ "part96.htm">7/9/18, 4553 PM " & @CRLF & _ "part97.htm">7/10/18, 8554 AM " & @CRLF & _ "part98.htm">7/10/18, 5516 PM " & @CRLF & _ "part99.htm">7/11/18, 11531 AM " & @CRLF & _ "part100.htm">7/11/18, 3550 PM " & @CRLF & _ "part101.htm">7/12/18, 4549 PM " & @CRLF & _ "part102.htm">7/15/18, 3524 PM " & @CRLF & _ "part103.htm">7/16/18, 10525 AM " & @CRLF & _ "part104.htm">7/16/18, 11534 AM " & @CRLF & _ "part105.htm">7/16/18, 6544 PM " & @CRLF & _ "part106.htm">7/18/18, 11505 AM " & @CRLF & _ "part107.htm">7/19/18, 1537 PM " & @CRLF & _ "part108.htm">7/19/18, 3532 PM " & @CRLF & _ "part109.htm">7/24/18, 10500 AM " & @CRLF & _ "part110.htm">7/24/18, 2514 PM " & @CRLF & _ "part111.htm">7/24/18, 3555 PM " & @CRLF & _ "part112.htm">7/24/18, 7506 PM " & @CRLF & _ "part113.htm">8/9/18, 12537 PM " & @CRLF & _ "part114.htm">8/13/18, 3531 PM " & @CRLF & _ "part115.htm">8/13/18, 5551 PM " & @CRLF & _ "part116.htm">8/14/18, 12509 PM " & @CRLF & _ "part117.htm">8/14/18, 1532 PM " & @CRLF & _ "part118.htm">8/14/18, 3539 PM " & @CRLF & _ "part119.htm">8/16/18, 4548 PM " & @CRLF & _ "part120.htm">8/16/18, 4548 PM " & @CRLF & _ "part121.htm">8/21/18, 6509 PM " & @CRLF & _ "part122.htm">8/23/18, 11557 AM " & @CRLF & _ "part123.htm">8/28/18, 4537 PM " & @CRLF & _ "part124.htm">8/30/18, 7528 PM " & @CRLF & _ "part125.htm">8/30/18, 10500 PM " & @CRLF & _ "part126.htm">9/4/18, 2538 PM " & @CRLF & _ "part127.htm">9/4/18, 5515 PM " & @CRLF & _ "part128.htm">9/5/18, 3538 PM " & @CRLF & _ "part129.htm">9/7/18, 5519 PM " & @CRLF & _ "part130.htm">9/10/18, 3518 PM " & @CRLF & _ "part131.htm">9/13/18, 8541 AM " & @CRLF & _ "part132.htm">9/13/18, 11512 AM " & @CRLF & _ "part133.htm">9/13/18, 12551 PM " & @CRLF & _ "part134.htm">9/17/18, 6502 PM " & @CRLF & _ "part135.htm">9/18/18, 3555 PM " & @CRLF & _ "part136.htm">9/19/18, 9506 PM " & @CRLF & _ "part137.htm">9/19/18, 11504 PM " & @CRLF & _ "part138.htm">9/20/18, 12531 PM " & @CRLF & _ "part139.htm">9/24/18, 4502 PM " & @CRLF & _ "part140.htm">9/24/18, 6518 PM " & @CRLF & _ "part141.htm">9/25/18, 9550 AM " & @CRLF & _ "part142.htm">9/25/18, 5512 PM " & @CRLF & _ "part143.htm">9/26/18, 12549 PM " & @CRLF & _ "part144.htm">9/26/18, 6533 PM " & @CRLF & _ "part145.htm">9/28/18, 9543 AM " & @CRLF & _ "part146.htm">10/1/18, 7558 AM " & @CRLF & _ "part147.htm">10/1/18, 3538 PM " & @CRLF & _ "part148.htm">10/3/18, 10551 AM " & @CRLF & _ "part149.htm">10/3/18, 3521 PM " & @CRLF & _ "part150.htm">10/3/18, 4528 PM " & @CRLF & _ "part151.htm">10/3/18, 5529 PM " & @CRLF & _ "part152.htm">10/8/18, 11521 AM " & @CRLF & _ "part153.htm">10/8/18, 2526 PM " & @CRLF & _ "part154.htm">10/8/18, 4538 PM " & @CRLF & _ "part155.htm">10/9/18, 1504 PM " & @CRLF & _ "part156.htm">10/9/18, 4529 PM " & @CRLF & _ "part157.htm">10/9/18, 6552 PM " & @CRLF & _ "part158.htm">10/10/18, 6509 PM " & @CRLF & _ "part159.htm">10/11/18, 1544 PM " & @CRLF & _ "part160.htm">10/11/18, 3527 PM " & @CRLF & _ "part161.htm">10/11/18, 5552 PM " & @CRLF & _ "part162.htm">10/11/18, 8500 PM " & @CRLF & _ "part163.htm">10/16/18, 2515 PM " & @CRLF & _ "part164.htm">10/16/18, 4501 PM " & @CRLF & _ "part165.htm">10/18/18, 10541 AM " & @CRLF & _ "part166.htm">10/18/18, 1505 PM " & @CRLF & _ "part167.htm">10/18/18, 4524 PM " & @CRLF & _ "part168.htm">10/18/18, 7537 PM " & @CRLF & _ "part169.htm">10/19/18, 11532 AM " & @CRLF & _ "part170.htm">10/22/18, 9539 AM " & @CRLF & _ "part171.htm">10/22/18, 10543 AM " & @CRLF & _ "part172.htm">10/22/18, 12514 PM " & @CRLF & _ "part173.htm">10/22/18, 2523 PM " & @CRLF & _ "part174.htm">10/24/18, 10506 AM " & @CRLF & _ "part175.htm">10/24/18, 12535 PM " & @CRLF & _ "part176.htm">10/24/18, 5558 PM " & @CRLF & _ "part177.htm">11/1/18, 3525 PM " & @CRLF & _ "part178.htm">11/1/18, 3525 PM " & @CRLF & _ "part179.htm">11/5/18, 11509 AM " & @CRLF & _ "part180.htm">11/5/18, 1544 PM " & @CRLF & _ "part181.htm">11/8/18, 6521 PM " & @CRLF & _ "part182.htm">11/9/18, 11538 AM " & @CRLF & _ "part183.htm">11/10/18, 11525 AM " & @CRLF & _ "part184.htm">11/10/18, 2531 PM " & @CRLF & _ "part185.htm">11/14/18, 10530 AM " & @CRLF & _ "part186.htm">11/14/18, 2505 PM " & @CRLF & _ "part187.htm">11/14/18, 4521 PM " & @CRLF & _ "part188.htm">11/14/18, 5527 PM " & @CRLF & _ "part189.htm">11/15/18, 11541 AM " & @CRLF & _ "part190.htm">11/15/18, 12558 PM " & @CRLF & _ "part191.htm">11/18/18, 8559 PM " & @CRLF & _ "part192.htm">11/19/18, 11502 AM " & @CRLF & _ "part193.htm">11/19/18, 12512 PM " & @CRLF & _ "part194.htm">11/26/18, 12537 PM " & @CRLF & _ "part195.htm"> 11/27/18, 3535 PM " & @CRLF & _ "part196.htm">11/28/18, 9535 AM " & @CRLF & _ "part197.htm">11/28/18, 12551 PM " & @CRLF & _ "part198.htm">11/29/18, 11541 AM " & @CRLF & _ "part199.htm">12/3/18, 11512 AM " & @CRLF & _ "part200.htm">12/3/18, 4501 PM " & @CRLF & _ "part201.htm">12/4/18, 12510 PM " & @CRLF & _ "part202.htm">12/4/18, 2504 PM " & @CRLF & _ "part203.htm">12/4/18, 3559 PM " & @CRLF & _ "part204.htm">12/7/18, 11548 AM " & @CRLF & _ "part205.htm">12/7/18, 1542 PM " & @CRLF & _ "part206.htm">12/10/18, 12521 PM " & @CRLF & _ "part207.htm">12/11/18, 12518 PM " & @CRLF & _ "part208.htm">12/14/18, 9517 AM " & @CRLF & _ "part209.htm">12/14/18, 11554 AM " & @CRLF & _ "part210.htm">12/14/18, 1547 PM " & @CRLF & _ "part211.htm">12/14/18, 3530 PM " & @CRLF & _ "part212.htm">12/14/18, 9531 PM " & @CRLF & _ "part213.htm">12/16/18, 6506 PM " & @CRLF & _ "part214.htm">12/17/18, 11556 AM " & @CRLF & _ "part215.htm">12/19/18, 4500 PM " & @CRLF & _ "part216.htm">12/20/18, 2558 PM " & @CRLF & _ "part217.htm">12/20/18, 7516 PM " & @CRLF & _ "part218.htm">12/21/18, 4516 PM " & @CRLF & _ "part219.htm">12/21/18, 7510 PM " & @CRLF & _ "part220.htm">12/25/18, 10518 PM " & @CRLF & _ "part221.htm">1/1/19, 10540 AM " & @CRLF & _ "part222.htm">1/1/19, 3521 PM " & @CRLF & _ "part223.htm">1/3/19, 6501 PM " & @CRLF & _ "part224.htm">1/4/19, 11540 AM " & @CRLF & _ "part225.htm">1/4/19, 2501 PM " & @CRLF & _ "part226.htm">1/4/19, 3555 PM " & @CRLF & _ "part227.htm">1/6/19, 2519 PM " & @CRLF & _ "part228.htm">1/7/19, 9531 AM " & @CRLF & _ "part229.htm">1/7/19, 11527 AM " & @CRLF & _ "part230.htm">1/7/19, 9532 PM " & @CRLF & _ "part231.htm">1/8/19, 10534 PM " & @CRLF & _ "part232.htm">1/9/19, 1512 PM " & @CRLF & _ "part233.htm">1/10/19, 9551 AM " & @CRLF & _ "part234.htm">1/10/19, 5537 PM " & @CRLF & _ "part235.htm">1/11/19, 12526 PM " & @CRLF & _ "part236.htm">1/14/19, 12522 PM " & @CRLF & _ "part237.htm">1/13/19, 6555 PM " & @CRLF & _ "part238.htm">1/11/19, 1557 PM " & @CRLF & _ "part239.htm">1/17/19, 9539 AM " & @CRLF & _ "part240.htm">1/17/19, 3513 PM " & @CRLF & _ "part241.htm">1/18/19, 1505 PM " & @CRLF & _ "part242.htm">1/18/19, 2549 PM " & @CRLF & _ "part243.htm">1/22/19, 9557 AM " & @CRLF & _ "part244.htm">1/22/19, 3530 PM " & @CRLF & _ "part245.htm">1/24/19, 12532 PM " & @CRLF & _ "part246.htm">1/24/19, 2554 PM " & @CRLF & _ "part247.htm">1/25/19, 2554 PM " & @CRLF & _ "part248.htm">1/29/19, 9552 AM " & @CRLF & _ "part249.htm">1/30/19, 8528 AM " & @CRLF & _ "part250.htm">1/30/19, 11550 AM " & @CRLF & _ "part251.htm">2/1/19, 9506 AM " & @CRLF & _ "part252.htm">2/1/19, 11529 AM " & @CRLF & _ "part253.htm">2/1/19, 12557 PM " & @CRLF & _ "part254.htm">2/1/19, 4522 PM " & @CRLF & _ "part255.htm">2/2/19, 8519 AM " & @CRLF & _ "part256.htm">2/5/19, 1500 PM " & @CRLF & _ "part257.htm">2/5/19, 3537 PM " & @CRLF & _ "part258.htm">2/7/19, 2534 PM " & @CRLF & _ "part259.htm">2/8/19, 3526 PM " & @CRLF & _ "part260.htm">2/8/19, 5510 PM " & @CRLF & _ "part261.htm">2/11/19, 4538 PM " & @CRLF & _ "part262.htm">2/12/19, 10555 AM " & @CRLF & _ "part263.htm">2/13/19, 2514 PM " & @CRLF & _ "part264.htm">2/13/19, 4533 PM " & @CRLF & _ "part265.htm">2/13/19, 8537 PM " & @CRLF & _ "part266.htm">2/14/19, 8544 AM " & @CRLF & _ "part267.htm">2/14/19, 10516 AM " & @CRLF & _ "part268.htm">2/14/19, 11543 AM " & @CRLF & _ "part269.htm">2/16/19, 2501 PM " & @CRLF & _ "part270.htm">2/16/19, 3541 PM " & @CRLF & _ "part271.htm">2/19/19, 7501 PM " & @CRLF & _ "part272.htm">2/20/19, 10526 AM " & @CRLF & _ "part273.htm">2/20/19, 12501 PM " & @CRLF & _ "part274.htm">2/20/19, 4534 PM " & @CRLF & _ "part275.htm">2/24/19, 10550 AM " & @CRLF & _ "part276.htm">2/24/19, 12506 PM " & @CRLF & _ "part277.htm">2/24/19, 12506 PM " & @CRLF & _ "part278.htm">2/25/19, 1541 PM " & @CRLF & _ "part279.htm">2/25/19, 4554 PM " & @CRLF & _ "part280.htm">2/28/19, 2522 PM " & @CRLF & _ "part281.htm">3/6/19, 12522 PM " & @CRLF & _ "part282.htm">3/7/19, 12522 PM " & @CRLF & _ "part283.htm">3/7/19, 4517 PM " & @CRLF & _ "part284.htm">3/8/19, 2534 PM " & @CRLF & _ "part285.htm">3/12/19, 7514 PM " & @CRLF & _ "part286.htm">3/13/19, 11546 AM " & @CRLF & _ "part287.htm">3/13/19, 12552 PM " & @CRLF & _ "part288.htm">3/14/19, 2502 PM " & @CRLF & _ "part289.htm">3/15/19, 12545 PM " & @CRLF & _ "part290.htm">3/15/19, 4553 PM " & @CRLF & _ "part291.htm">3/18/19, 10522 AM " & @CRLF & _ "part292.htm">3/18/19, 11544 AM " & @CRLF & _ "part293.htm">3/18/19, 2536 PM " & @CRLF & _ "part294.htm">3/18/19, 4513 PM " & @CRLF & _ "part295.htm">3/19/19, 10506 AM " & @CRLF & _ "part296.htm">3/19/19, 1543 PM " & @CRLF & _ "part297.htm">3/20/19, 10530 AM " & @CRLF & _ "part298.htm">3/24/19, 11516 AM " & @CRLF & _ "part299.htm">3/24/19, 1533 PM " & @CRLF & _ "part300.htm">3/26/19, 8530 AM " & @CRLF & _ "part301.htm">3/28/19, 9507 PM " & @CRLF & _ "part302.htm">3/29/19, 8523 AM " & @CRLF & _ "part303.htm">4/2/19, 10504 AM " & @CRLF & _ "part304.htm">4/2/19, 11534 AM " & @CRLF & _ "part305.htm">4/2/19, 1508 PM " Local $sSubst = "\1:\2" Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst) MsgBox($MB_SYSTEMMODAL, "Result", $sResult)

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