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

// 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#"(?i)<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>"#).unwrap(); let string = "<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> "; // 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/