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

/
/
gi

Test String

Code Generator

Generated Code

const regex = /<td><a href="(http:\/\/adi.sunyconnect.suny.edu:4610\/F\/\?request=\d{6,6}&func=find-b&find_code=sys&local_base=adi01pub)">(.*?)<b><br>(.*?) \/ (.*?)<\/b>/gi; // Alternative syntax using RegExp constructor // const regex = new RegExp('<td><a href="(http:\\\/\\\/adi.sunyconnect.suny.edu:4610\\\/F\\\/\\?request=\\d{6,6}&func=find-b&find_code=sys&local_base=adi01pub)">(.*?)<b><br>(.*?) \\\/ (.*?)<\\\/b>', 'gi') const str = `<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Language" content="en-us" /> <link rel="stylesheet" type="text/css" href="/app/exlibris/sny_scripts/new_items_list/new_items.css" /> <title>Adirondack Community College Library - New Titles List</title> <script type="text/javascript" src="http://www.sunyconnect.suny.edu/gbs_cover_art/gbs_covers.js"></script> </head> <body> <a name="top"></a> <table width="90%" align="center" border="0" cellpadding="0" cellspacing="0"> <table id="Table_01" width="100%" height="48" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr bgcolor="#006500"> <td class="topbar" valign="bottom" align="right"> <a href="http://www.sunyacc.edu/go.php?page=academics/library.html" class="blue" target=new title="link to the library home page"> <img src="http://adi.sunyconnect.suny.edu:4610/aleph/prod/adi/alephe/www_f_eng/icon/logo.gif" border="0" alt="Library Logo" align="left"></a> </td> <!-- <td class="topbar" valign="middle" align="center"> </td> --> </tr> </table> <center><h2> Adirondack Community College Library<br> New Titles List </h2></center> <p> <center> <font color="#006500"><b><i> This list shows the most recent additions to the library collection. Items are in call number order. <br> Click on the title to get to the full catalog record.</i></b></font> </center> </td></tr></table> <!-- Close table opened in header_2 --> </table> <table align="center" cellspacing="20"> <tr><td> <a href="#A">A - General Works, Encyclopedias, Dictionaries<br> <a href="#B">B - Philosophy, Psychology, Religion<br> <a href="#C">C - History of Civilization, Archeology, Chronologies,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Genealogy, Biography<br> <a href="#D">D - History: General and World History<br> <a href="#E">E - History: America<br> <a href="#F">F - History: America - Regional, State<br> <a href="#G">G - Geography, Environmental Sciences, Anthropology,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Folklore, Recreation, Sports<br> <a href="#H">H - Social Sciences<br> <a href="#J">J - Political Science<br> <a href="#K">K - Law<br> </td><td> <a href="#L">L - Education <br> <a href="#M">M - Music, books about Music<br> <a href="#N">N - Fine Arts<br> <a href="#P">P - Language and Literature<br> <a href="#Q">Q - Science<br> <a href="#R">R - Medicine, Nursing, Pharmacology, Psychiatry<br> <a href="#S">S - Agriculture<br> <a href="#T">T - Technology, Engineering, Aeronautics,<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Photography, Handicrafts<br> <a href="#U">U - Military Science<br> <a href="#V">V - Naval Science<br> <a href="#Z">Z - Library Science, Bibliography<br> </td></tr> </table> <table width="75%" align="center" border="0" cellpadding="0" cellspacing="0"><tr><td> <h4>LC Call Number:</h4> <font color="#000000" size="1"><a href="http://www.loc.gov/catdir/cpso/lcco/lcco.html" target="_new"> Guide to LC Classification</a> - (click for more information on the call letters for a subject) </font></p> [<b><a HREF="#A">A</a></b>] [<b><a HREF="#B">B</a></b>] [<b><a HREF="#C">C</a></b>] [<b><a HREF="#D">D</a></b>] [<b><a HREF="#E">E</a></b>] [<b><a HREF="#F">F</a></b>] [<b><a HREF="#G">G</a></b>] [<b><a HREF="#H">H</a></b>] [<b><a HREF="#J">J</a></b>] [<b><a HREF="#K">K</a></b>] [<b><a HREF="#L">L</a></b>] [<b><a HREF="#M">M</a></b>] [<b><a HREF="#N">N</a></b>] [<b><a HREF="#P">P</a></b>] [<b><a HREF="#Q">Q</a></b>] [<b><a HREF="#R">R</a></b>] [<b><a HREF="#S">S</a></b>] [<b><a HREF="#T">T</a></b>] [<b><a HREF="#U">U</a></b>] [<b><a HREF="#V">V</a></b>] [<b><a HREF="#Z">Z</a></b>] <br> </td></tr></table> <table width=80%><tr><td>&nbsp;</td></tr><tr><td align=right> <font size=1>Last updated: Mon 01-25-2016</font> </td></tr></table> <table width=90% align=center border=0 cellpadding=0 cellspacing=0> <tr><td> <A NAME="A"> </A><b><font size=+3>A</font></b></a></td><td>&nbsp; </td></tr> <tr><td> <A NAME="B"> </A><b><font size=+3>B</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233654&func=find-b&find_code=sys&local_base=adi01pub">BX1751.3 .C377 2015 Adirondack Community College Circulating<b><br>The Catholic Church / Michael Ruth, book editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="C"> </A><b><font size=+3>C</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="D"> </A><b><font size=+3>D</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233656&func=find-b&find_code=sys&local_base=adi01pub">DK508.852 .U39 2016 Adirondack Community College Circulating<b><br>Ukraine / Michael Ruth, book editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="E"> </A><b><font size=+3>E</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="F"> </A><b><font size=+3>F</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="G"> </A><b><font size=+3>G</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="H"> </A><b><font size=+3>H</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233657&func=find-b&find_code=sys&local_base=adi01pub">HC110.I5 I477 2016 Adirondack Community College Circulating<b><br>Income inequality / Noël Merino, Book Editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233652&func=find-b&find_code=sys&local_base=adi01pub">HQ766 .B4794 2016 Adirondack Community College Circulating<b><br>Birth control / Jack Lasky, book editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233655&func=find-b&find_code=sys&local_base=adi01pub">HV9471 .A49 2016 Adirondack Community College Circulating<b><br>America's prisons / Jack Lasky, book editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="J"> </A><b><font size=+3>J</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="K"> </A><b><font size=+3>K</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="L"> </A><b><font size=+3>L</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="M"> </A><b><font size=+3>M</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="N"> </A><b><font size=+3>N</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="P"> </A><b><font size=+3>P</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233650&func=find-b&find_code=sys&local_base=adi01pub">PC2129.E5 R59 2009 Adirondack Community College Circulating<b><br>Easy French step-by-step : master high-frequency grammar for French proficiency--fast! / Myrna Bell</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233648&func=find-b&find_code=sys&local_base=adi01pub">PF3271 .H39 2011 Adirondack Community College Circulating<b><br>German verb drills / Astrid Henschel.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233658&func=find-b&find_code=sys&local_base=adi01pub">PN1997.2 .I54 2015 Adirondack Community College DVD<b><br>Infinitely polar bear / a Sony Pictures Classics release ; Paper Street Films and Park Pictures pres</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233649&func=find-b&find_code=sys&local_base=adi01pub">PR830.W6 P45 2014 Adirondack Community College Circulating<b><br>Women's fiction : from 1945 to today / Deborah Philips.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="Q"> </A><b><font size=+3>Q</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="R"> </A><b><font size=+3>R</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233647&func=find-b&find_code=sys&local_base=adi01pub">RB115 .B823 2016 Adirondack Community College Reference<b><br>2016 ICD-10-CM for physicians professional edition / Carol J. Buck.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="S"> </A><b><font size=+3>S</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233651&func=find-b&find_code=sys&local_base=adi01pub">S596.7 .V57 2015 Adirondack Community College Circulating<b><br>Visual soil evaluation : realizing potential crop production with minimum environmental impact / edi</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="T"> </A><b><font size=+3>T</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td>&nbsp;</td><td><a href="http://adi.sunyconnect.suny.edu:4610/F/?request=233653&func=find-b&find_code=sys&local_base=adi01pub">TK5105.8855 .I58 2016 Adirondack Community College Circulating<b><br>The Internet / Jack Lasky, Book Editor.</b></a></td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="U"> </A><b><font size=+3>U</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="V"> </A><b><font size=+3>V</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> <tr><td> <A NAME="Z"> </A><b><font size=+3>Z</font></b></td><td><a HREF="#top">Back to top</a> </td></tr><tr><td>&nbsp;</td></tr> </table> </body> </html> `; // Reset `lastIndex` if this regex is defined globally // regex.lastIndex = 0; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }

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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions