Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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 single character of: a, b, c or d
    [[ab][cd]]
  • 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]
  • Character class intersection
    [\w&&[^\d]]
  • 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
Processing...

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#"(\d{1,2}(.\d.\d){0,2}) <a href=\"(.*)\""#).unwrap(); let string = " <!DOCTYPE html> <html lang=\"en-US\" class=\"no-js\"> <head> <title>Java Development Kit 17 Release Notes</title> <meta name=\"Title\" content=\"Java Development Kit 17 Release Notes\"> <meta name=\"Description\" content=\"Java Development Kit 17 Release Notes\"> <meta name=\"Keywords\" content=\"Java Development Kit 17 Release Notes\"> <!-- Container/Display Start --> <!-- _Raw-Text --> <!-- css / js files start --> <script> !function(){ var d=document.documentElement;d.className=d.className.replace(/no-js/,'js'); if(document.location.href.indexOf('betamode=') > -1) document.write('<script src=\"https://www.oracle.com/asset/web/js/ocom-betamode.js\"><\\/script>'); }(); </script> <link data-wscss href=\"https://www.oracle.com/asset/web/css/ocom-v1-base.css\" rel=\"stylesheet\"> <link data-wscss href=\"https://www.oracle.com/asset/web/css/ocom-v1-styles.css\" rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" onerror=\"this.rel='stylesheet'\"> <noscript> <link href=\"https://www.oracle.com/asset/web/css/ocom-v1-styles.css\" rel=\"stylesheet\"> </noscript> <link data-wsjs data-reqjq href=\"https://www.oracle.com/asset/web/js/ocom-v1-base.js\" rel=\"preload\" as=\"script\"> <link data-wsjs data-reqjq href=\"https://www.oracle.com/asset/web/js/ocom-v1-lib.js\" rel=\"preload\" as=\"script\"> <script data-wsjs src=\"https://www.oracle.com/asset/web/js/jquery-min.js\" async onload=\"$('head link[data-reqjq][rel=preload]').each(function(){var a = document.createElement('script');a.async=false;a.src=$(this).attr('href');this.parentNode.insertBefore(a, this);});$(function(){$('script[data-reqjq][data-src]').each(function(){this.async=true;this.src=$(this).data('src');});});\"></script> <!-- end css / js files start --> <!-- / _Raw-Text --> <!-- Container/Display end --> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"> <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\"> <meta name=\"siteid\" content=\"us\"> <meta name=\"countryid\" content=\"US\"> <meta name=\"robots\" content=\"index, follow\"> <meta name=\"country\" content=\"United States\"> <meta name=\"Language\" content=\"en\"> <meta name=\"Updated Date\" content=\"2018-04-19T19:17:32Z\"> <script type=\"text/javascript\"> var pageData = pageData || {}; //page info pageData.pageInfo = pageData.pageInfo || {}; pageData.pageInfo.language = \"en\"; pageData.pageInfo.country = \"United States\"; pageData.pageInfo.pageTitle = \"Java Development Kit 17 Release Notes\"; pageData.pageInfo.description = \"Java Development Kit 17 Release Notes\"; pageData.pageInfo.keywords = \"Java Development Kit 17 Release Notes\"; pageData.pageInfo.siteId = \"us\"; pageData.pageInfo.countryId = \"US\"; pageData.pageInfo.updatedDate = \"2018-04-19T19:17:32Z\"; </script> <!-- start : ocom/common/global/components/seo-taxonomy-meta-data--> <script type=\"text/javascript\"> var pageData = pageData || {}; //taxonmy pageData.taxonomy = pageData.taxonomy || {}; pageData.taxonomy.productServices = []; pageData.taxonomy.industry = []; pageData.taxonomy.region = []; pageData.taxonomy.contentType = []; pageData.taxonomy.buyersJourney = []; pageData.taxonomy.revenue = []; pageData.taxonomy.title = []; pageData.taxonomy.audience = []; pageData.taxonomy.persona = []; </script> <!-- end : ocom/common/global/components/seo-taxonomy-meta-data--> <!-- start : ocom/common/global/components/social-media-meta-tags --> <!-- end : ocom/common/global/components/social-media-meta-tags --> <!-- start : ocom/common/global/components/seo-hreflang-meta-tags --><link rel=\"canonical\" href=\"https://www.oracle.com/java/technologies/javase/17u-relnotes.html\" /> <link rel=\"alternate\" hreflang=\"en-US\" href=\"https://www.oracle.com/java/technologies/javase/17u-relnotes.html\" /> <!-- end : ocom/common/global/components/seo-hreflang-meta-tags --> <!-- Container/Display Start --> <!-- _Raw-Text --> <!-- www-us HeadAdminContainer --> <link rel=\"icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-32.png\" sizes=\"32x32\"> <link rel=\"icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-128.png\" sizes=\"128x128\"> <link rel=\"icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-192.png\" sizes=\"192x192\"> <link rel=\"apple-touch-icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-120.png\" sizes=\"120x120\"> <link rel=\"apple-touch-icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-152.png\" sizes=\"152x152\"> <link rel=\"apple-touch-icon\" href=\"https://www.oracle.com/asset/web/favicons/favicon-180.png\" sizes=\"180x180\"> <meta name=\"msapplication-TileColor\" content=\"#fcfbfa\"/> <meta name=\"msapplication-square70x70logo\" content=\"favicon-128.png\"/> <meta name=\"msapplication-square150x150logo\" content=\"favicon-270.png\"/> <meta name=\"msapplication-TileImage\" content=\"favicon-270.png\"/> <meta name=\"msapplication-config\" content=\"none\"/> <meta name=\"referrer\" content=\"no-referrer-when-downgrade\"/> <script async=\"async\" type=\"text/javascript\" src='//consent.truste.com/notice?domain=oracle.com&c=teconsent&js=bb&noticeType=bb&text=true&gtm=1&cdn=1&pcookie' crossorigin></script> <style> #oReactiveChatContainer1 { display:none;} </style> <!-- Truste for RU --> <script type=\"text/javascript\"> if (location.pathname.indexOf(\"/ru/\") == 0){ document.write('\\x3Cscript async=\"async\" src=//consent.truste.com/notice?domain=oracleru.com&c=teconsent&js=bb&noticeType=bb&text=true&gtm=1&cdn=1&pcookie crossorigin=\"\">\\x3C/script>'); } </script> <!--Tealium embed code --> <script src=\"https://tms.oracle.com/main/prod/utag.sync.js\"></script> <!-- Loading script asynchronously --> <script type=\"text/javascript\"> (function(a,b,c,d){ if(location.href.indexOf(\"tealium=dev\") == -1) { a='https://tms.oracle.com/main/prod/utag.js'; } else { a='https://tms.oracle.com/main/dev/utag.js'; } b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.async=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); </script> <!--End--> <!-- / _Raw-Text --> <!-- Container/Display end --> <script>(window.BOOMR_mq=window.BOOMR_mq||[]).push([\"addVar\",{\"rua.upush\":\"false\",\"rua.cpush\":\"false\",\"rua.upre\":\"false\",\"rua.cpre\":\"false\",\"rua.uprl\":\"false\",\"rua.cprl\":\"false\",\"rua.cprf\":\"false\",\"rua.trans\":\"SJ-c9d8b6c0-47a3-40fa-bda7-945103ea1ff0\",\"rua.cook\":\"true\",\"rua.ims\":\"false\",\"rua.ufprl\":\"false\",\"rua.cfprl\":\"true\",\"rua.isuxp\":\"false\",\"rua.texp\":\"norulematch\"}]);</script> <script>!function(e){var n=\"https://s.go-mpulse.net/boomerang/\";if(\"False\"==\"True\")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n=\"https://s2.go-mpulse.net/boomerang/\";if(window.BOOMR_API_key=\"DXNLE-YBWWY-AR74T-WMD99-77VRA\",function(){function e(){if(!o){var e=document.createElement(\"script\");e.id=\"boomr-scr-as\",e.src=window.BOOMR.url,e.async=!0,i.parentNode.appendChild(e),o=!0}}function t(e){o=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?\"if\":\"i\",t=function(e,n){var t=d.createElement(\"script\");t.id=n||\"boomr-if-as\",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\\./))return window.BOOMR.snippetMethod=\"s\",void t(i.parentNode,\"boomr-async\");a=document.createElement(\"IFRAME\"),a.src=\"about:blank\",a.title=\"\",a.role=\"presentation\",a.loading=\"eager\",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display=\"none\",i.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src=\"javascript:var d=document.open();d.domain='\"+n+\"';void(0);\",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write(\"<bo\"+\"dy onload='document._boomrl();'>\");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener(\"load\",O._boomrl,!1);else if(O.attachEvent)O.attachEvent(\"onload\",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+\"DXNLE-YBWWY-AR74T-WMD99-77VRA\";var i=document.currentScript||document.getElementsByTagName(\"script\")[0],o=!1,r=document.createElement(\"link\");if(r.relList&&\"function\"==typeof r.relList.supports&&r.relList.supports(\"preload\")&&\"as\"in r)window.BOOMR.snippetMethod=\"p\",r.href=window.BOOMR.url,r.rel=\"preload\",r.as=\"script\",r.addEventListener(\"load\",e),r.addEventListener(\"error\",function(){t(!0)}),setTimeout(function(){if(!o)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),i.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener(\"load\",a,!1);else if(window.attachEvent)window.attachEvent(\"onload\",a)}}(),\"\".length>0)if(e&&\"performance\"in e&&e.performance&&\"function\"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=\"true\"==\"true\"?1:0,t=\"cookiepresent\",a=\"ezrwiaqxyzyz2yoeitua-f-5203c7edf-clientnsv4-s.akamaihd.net\",i=\"false\"==\"true\"?2:1,o={\"ak.v\":\"32\",\"ak.cp\":\"82485\",\"ak.ai\":parseInt(\"604074\",10),\"ak.ol\":\"0\",\"ak.cr\":399,\"ak.ipv\":4,\"ak.proto\":\"h2\",\"ak.rid\":\"19300983\",\"ak.r\":20734,\"ak.a2\":n,\"ak.m\":\"dscx\",\"ak.n\":\"essl\",\"ak.bpcip\":\"38.99.100.0\",\"ak.cport\":20721,\"ak.gh\":\"104.84.150.13\",\"ak.quicv\":\"\",\"ak.tlsv\":\"tls1.3\",\"ak.0rtt\":\"\",\"ak.csrc\":\"-\",\"ak.acc\":\"\",\"ak.t\":\"1640252648\",\"ak.ak\":\"hOBiQwZUYzCg5VSAfCLimQ==ced/gDvoz5spHHd9Xyosnb0t1JLTW/OsriX91pAdeNJbNsRfKY2uzt/GoTx1q+DZuqG6uhf7Oucq3c/Q4KiKkqC8XSMctLRxWaDmlVTC2HrNIgNdGAmml0JTkzyHFQT+cN4wjhuzgu17kOpyHsKeh1t+3JgF/wLeSMi5mmP+bFjhPTcYFoVRXlG2ixeE213Y0zIKiPAqiCcBabstjdLRjEbMVGmFY6HDJeK8lZ5YIYlvqT3dHeW/j/DGoRd5PFLAxZAOZfNo8sWP4LlLlVemDFzDgFX8xZV/T7iHDoerwzs+R8UyyP6aXvwC8CVEzw/wj6yUNOPUwDcm3ZJOWXQ+eSYaByjomN2JPjLfemXfVY167XBue207TIhmaL00sXIcQpsO6c2BwKnezYnoaEU9BuzwctyxU98O+dkEdsAVsg0=\",\"ak.pv\":\"256\",\"ak.dpoabenc\":\"\",\"ak.tf\":i};if(\"\"!==t)o[\"ak.ruds\"]=t;var r={i:!1,av:function(n){var t=\"http.initiator\";if(n&&(!n[t]||\"spa_hard\"===n[t]))o[\"ak.feo\"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(o)},rv:function(){var e=[\"ak.bpcip\",\"ak.cport\",\"ak.cr\",\"ak.csrc\",\"ak.gh\",\"ak.ipv\",\"ak.m\",\"ak.n\",\"ak.ol\",\"ak.proto\",\"ak.quicv\",\"ak.tlsv\",\"ak.0rtt\",\"ak.r\",\"ak.acc\",\"ak.t\",\"ak.tf\"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:o,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e(\"before_beacon\",r.av,null,null),e(\"onbeacon\",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body class=\"f11 f11v6\"> <div class=\"f11w1\"> <!-- start Common/Header --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- U28v1 --> <section class=\"u28 u28v1 u28adj\" id=\"u28\" data-trackas=\"header\"> <div id=\"u28skip2content\" aria-expanded=\"false\" tabindex=\"-1\"> <ul> <li><a id=\"u28acc\" href=\"https://www.oracle.com/corporate/accessibility/\">Click to view our Accessibility Policy</a></li> <li><a id=\"u28skip2c\" href=\"#maincontent\">Skip to content</a></li> </ul> </div> <div class=\"u28w1\"> <div class=\"cwidth\"> <div class=\"u28s1\" id=\"u28s1\"> <a class=\"u28home rw-logo\" href=\"/\" data-lbl=\"logo\">home</a> <a class=\"u28ham\" href=\"/universal-menu/\" data-lbl=\"menu\">nav</a> </div> <div class=\"u28s2\"> <div class=\"u28w2\"> <form name=\"askoracle\" id=\"askoracle\" class=\"askoracle\" data-contentpaths=\"/content/Web/Shared/Auto-Suggest Panel Event\" method=\"get\" action=\"/search/results\" data-resultsclose=\"Close\" data-resultscloselabel=\"Exit Search Results\"> <input type=\"hidden\" name=\"Nty\" value=\"1\"> <input type=\"hidden\" name=\"Dy\" value=\"1\"> <input type=\"hidden\" name=\"Ntk\" value=\"SI-ALL5\"> <input type=\"hidden\" name=\"cty\" value=\"us\"> <input type=\"hidden\" name=\"lang\" value=\"en\"> <div class=\"u28w3\"> <div class=\"u28logo rw-logo\"> <span>Oracle</span> </div> <a class=\"u28-back rw-cv-left\" href=\"#back\" title=\"Close Search Field\"> <span>Close</span> </a> <a class=\"u28-searchicon\" href=\"#search\"> <span>Search</span> </a> <span class=\"u28input\"> <input id=\"askoracleinput\" name=\"Ntt\" value=\"\" data-prefix=\"Ask\" placeholder=\"Ask\" autocomplete=\"off\" role=\"combobox\" aria-label=\"Search Oracle.com\"> <span class=\"u28submit\"> <input class=\"u28searchbttn\" type=\"submit\" value=\"Submit Search\"> </span> </span> </div> </form> </div> </div> <nav class=\"u28s4\"> <a class=\"u28search u28navitm\" id=\"u28search\" aria-label=\"Open Search Field\" href=\"#search\"><span>Search</span></a> <a href=\"#products\" data-target=\"products\" class=\"u28navitm\">Products</a> <a href=\"#industries\" data-target=\"industries\" class=\"u28navitm\">Industries</a> <a href=\"#resources\" data-target=\"resources\" class=\"u28navitm\">Resources</a> <a href=\"#support\" data-target=\"support\" class=\"u28navitm\">Support</a> <a href=\"#events\" data-target=\"events\" class=\"u28navitm\">Events</a> <a href=\"#developer\" data-target=\"developer\" class=\"u28navitm\">Developer</a> <a href=\"#partners\" data-target=\"partners\" class=\"u28navitm\">Partners</a> </nav> <div class=\"u28s3\" id=\"u28s3\"> <div class=\"u28-profile\"> <a href=\"#\" class=\"u28prof\" data-lbl=\"sign-in-account\" title=\"View Accounts\"><div class=\"acttxt\">View Accounts</div><span>Sign In</span></a> <div class=\"u28-profilew1\"> <span class=\"u28actbck u28back\">Back</span> <span class=\"u28acttitle\">Oracle Account</span> <div class=\"u28-profilew2\"> <span class=\"u28acttitle\">Cloud Account</span> <a href=\"/cloud/sign-in.html\" class=\"u28cloudbg\" data-lbl=\"go-to-cloud-website\" aria-label=\"Sign in to Cloud\">Sign in to Cloud</a> <a href=\"/cloud/free/?source=:ow:o:h:nav:OHP0625ViewAccountsButton&intcmp=:ow:o:h:nav:OHP0625ViewAccountsButton\" class=\"u28btn2\" data-lbl=\"cta-0625-nav-header-accounts-free-tier-oci\" aria-label=\"Sign Up for Free Cloud Tier\">Sign Up for Free Cloud Tier</a> </div> <ul class=\"u28l-out\"> <li><a href=\"https://www.oracle.com/webapps/redirect/signon?nexturl=\" data-lbl=\"profile:sign-in-account\" class=\"u28btn1\">Sign-In</a></li> <li><a href=\"https://profile.oracle.com/myprofile/account/create-account.jspx\" data-lbl=\"profile:create-account\" class=\"u28btn2\">Create an Account</a></li> </ul> <ul class=\"u28l-in\"> <li><a href=\"/corporate/contact/help.html\" data-lbl=\"help\">Help</a></li> <li><a href=\"javascript:sso_sign_out();\" id=\"u28pfile-sout\" data-lbl=\"signout\">Sign Out</a></li> </ul> </div> </div> <div class=\"u28-contact\"> <a href=\"/corporate/contact/\" class=\"u28contact\" data-lbl=\"contact-sales\" title=\"Contact Sales\"><span>Contact Sales</span></a> </div> </div> </div> </div> <div class=\"u28w4\" id=\"u28w4\"> <div class=\"u28w1a u28w5 clstrgt\"> <div class=\"u28w6\"> <!-- Search Results --> <div class=\"u28w8 u28trgt\"></div> <div class=\"u28w9\"> <div class=\"u28result u28noresults\"> <div class=\"u28rw1\"> <div class=\"u28rw2\"> <div>No results found</div> <p>Your search did not match any results.</p> <p>We suggest you try the following to help find what you&rsquo;re looking for:</p> <ul class=\"u28w7a\"> <li>Check the spelling of your keyword search.</li> <li>Use synonyms for the keyword you typed, for example, try &ldquo;application&rdquo; instead of &ldquo;software.&rdquo;</li> <li>Try one of the popular searches shown below.</li> <li>Start a new search.</li> </ul> <div>Trending Questions</div> </div> </div> </div> </div> </div> </div> </div> <nav id=\"u28nav\" class=\"u28nav\" data-trackas=\"menu\"> <a href=\"#close\" class=\"mnavback u28back icn-close\">Close</a> </nav> <a id=\"maincontent\">&nbsp;</a> </section> <!-- /U28v1 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- end Common/Header --> <!-- U03v5 --> <nav class=\"u03 u03v5 u03bttns\" data-trackas=\"breadcrumb\" data-ocomid=\"u03\"> <div class=\"cwidth\"> <div class=\"u03w1\"> <ul> <li><a href=\"/java/\">Java</a></li> <li><a href=\"/java/technologies/\">Technical Details</a></li> <li><a href=\"/java/technologies/java-se-glance.html\">Java SE</a></li> </ul> <h1>Java Development Kit 17 Release Notes</h1> </div> </div> <script type=\"text/javascript\"> var pageData = pageData || {}; //page info pageData.pageInfo = pageData.pageInfo || {}; pageData.pageInfo.breadCrumbs = \"Java / Technical Details / Java SE\"; </script> </nav> <!-- _Raw-Text --> <section class=\"cb83 cb83v2 cpad bgdarkslate\" data-trackas=\"cb83\" data-ocomid=\"cb83\"> <div class=\"cb83w7 cwidth\"> <div class=\"cb83w5\"> <div class=\"obic\"> <!--img src=\"/a/ocom/img/obic-java-cup.svg\" alt=\"java\"--> <!--img src=\"/a/tech/img/java-logo.svg\" alt=\"java\"--> <img src=\"/a/tech/img/java-logo-v1.svg \" alt=\"java\"> </div> </div> <div class=\"cb83w3\"> <h2>Listing of Java Development Kit 17 Release Notes</h2> <div class=\"obttns\"> <div class=\"obttn1\"> <a href=\"/java/technologies/javase/jdk-relnotes-index.html\">Release Notes for all JDK Release Versions</a> </div> </div> </div> </div> </section> <!-- / _Raw-Text --> <!-- _Raw-Text --> <section class=\"cc01 cc01v0 cpad\"> <div class=\"cc01w1 cwidth\"> <h4>JDK 17 Release Notes</h4> <p>This page provides links to all of the release notes for General Availability (GA) releases of JDK 17.</p> <p>For all release notes combined on a single page, see the <a href=\"/java/technologies/javase/17all-relnotes.html\">Consolidated JDK 17 Release Notes</a>. That page is dynamically generated from all of the JDK 17 release notes. Loading it takes longer than loading the individual release note pages of each release.</p> <ul class=\"obullets\"> <li>JDK 17.0.1 <a href=\"/java/technologies/javase/17-0-1-relnotes.html\">(GA)</a></li> <li>JDK 17 <a href=\"/java/technologies/javase/17-relnote-issues.html\">(GA)</a></li> </ul> </div> </section> <!-- / _Raw-Text --> <!-- U10v0 --> <!-- Dispatcher:null --> <!-- BEGIN: oWidget_C/_Raw-Text/Display --> <!-- U10v0 --> <div id=\"u10\" class=\"u10 u10v6\" data-trackas=\"ffooter\" data-ocomid=\"u10\"> <div class=\"u10w1\"> <div class=\"u10w2\"> <div class=\"u10w3\"> <div class=\"u10ttl\">Resources for</div> <ul> <li><a data-lbl=\"resources-for:career\" href=\"/corporate/careers/\">Careers</a></li> <li><a data-lbl=\"resources-for:developers\" href=\"https://developer.oracle.com/\">Developers</a></li> <li><a data-lbl=\"resources-for:investors\" href=\"https://investor.oracle.com/home/default.aspx\">Investors</a></li> <li><a data-lbl=\"resources-for:partners\" href=\"/partnernetwork/\">Partners</a></li> <li><a data-lbl=\"resources-for:startups\" href=\"/startup/\">Startups</a></li> <li><a data-lbl=\"resources-for:students-educators\" href=\"https://academy.oracle.com/en/oa-web-overview.html\">Students and Educators</a></li> </ul> </div> </div> <div class=\"u10w2\"> <div class=\"u10w3\"> <div class=\"u10ttl\">Why Oracle</div> <ul> <li><a data-lbl=\"why-oracle:analyst-reports\" href=\"/corporate/analyst-reports.html\">Analyst Reports</a></li> <li><a data-lbl=\"why-oracle:gartner-mq-erp-cloud\" href=\"/erp/what-is-erp/best-erp/\">Gartner MQ for ERP Cloud</a></li> <li><a data-lbl=\"why-oracle:cloud-economics\" href=\"/cloud/economics/\">Cloud Economics</a></li> <li><a data-lbl=\"why-oracle:corporate-responsibility\" href=\"/corporate/citizenship/\">Corporate Responsibility</a></li> <li><a data-lbl=\"why-oracle:diversity-inclusion\" href=\"/corporate/careers/diversity-inclusion/\">Diversity and Inclusion</a></li> <li><a data-lbl=\"why-oracle:security-pracitices\" href=\"/corporate/security-practices/\">Security Practices</a></li> </ul> </div> </div> <div class=\"u10w2\"> <div class=\"u10w3\"> <div class=\"u10ttl\">Learn</div> <ul> <li><a data-lbl=\"learn:cloud-computing\" href=\"/cloud/what-is-cloud-computing/\">What is cloud computing?</a></li> <li><a data-lbl=\"learn:crm\" href=\"/cx/what-is-crm/\">What is CRM?</a></li> <li><a data-lbl=\"learn:docker\" href=\"/cloud-native/container-registry/what-is-docker/\">What is Docker?</a></li> <li><a data-lbl=\"learn:kubernetes\" href=\"/cloud-native/container-engine-kubernetes/what-is-kubernetes/\">What is Kubernetes?</a></li> <li><a data-lbl=\"learn:python\" href=\"https://developer.oracle.com/python/what-is-python/\">What is Python?</a></li> <li><a data-lbl=\"learn:saas\" href=\"/applications/what-is-saas/\">What is SaaS?</a></li> </ul> </div> </div> <div class=\"u10w2\"> <div class=\"u10w3\"> <div class=\"u10ttl\">What&rsquo;s New</div> <ul> <li><a data-lbl=\"whatsnew:cloud-trial\" href=\"/cloud/free/?source=:ow:o:h:nav:050120SiteFooter&intcmp=:ow:o:h:nav:050120SiteFooter\">Try Oracle Cloud Free Tier</a></li> <li><a data-lbl=\"whatsnew:product-navigator\" href=\"/product-navigator/\">Oracle Product Navigator</a></li> <li><a data-lbl=\"whatsnew:premier-league\" href=\"/premier-league/\">Oracle and Premier League</a></li> <li><a data-lbl=\"whatsnew:red-bull-racing\" href=\"/redbullracing/\">Oracle and Red Bull Racing Honda</a></li> <li><a data-lbl=\"whatsnew:employee-exp-platform\" href=\"/human-capital-management/journeys/\">Employee Experience Platform</a></li> <li><a data-lbl=\"whatsnew:cloud-rewards\" href=\"/cloud/rewards/\">Oracle Support Rewards</a></li> </ul> </div> </div> <div class=\"u10w2\"> <div class=\"u10w3\"> <div class=\"u10ttl\">Contact Us</div> <ul> <li><a href=\"tel:18006330738\">US Sales: +1.800.633.0738</a></li> <li><a data-lbl=\"contact-us:how-can-we-help\" href=\"/corporate/contact/\">How can we help?</a></li> <li><a data-lbl=\"contact-us:subscribe-to-emails\" href=\"https://go.oracle.com/subscriptions\">Subscribe to emails</a></li> <li><a data-lbl=\"contact-us:events\" href=\"/events/\">Events</a></li> <li><a data-lbl=\"contact-us:news\" href=\"/news/\">News</a></li> <li><a data-lbl=\"contact-us:blogs\" href=\"https://blogs.oracle.com/\">Blogs</a></li> </ul> </div> </div> <div class=\"u10w4\"> <hr /> </div> <div class=\"u10w5 u10w10\" data-trackas=\"footer\"> <ul class=\"u10-cr\"> <li class=\"u10mtool\" id=\"u10cmenu\"> <a data-lbl=\"country-region\" class=\"u10ticon u10regn\" href=\"/universal-menu/#u10countrymenu\">Country/Region</a> </li> </ul> <ul class=\"u10-links\"> <li><a data-lbl=\"copyright\" href=\"/legal/copyright.html\">&copy; 2021 Oracle</a></li> <li><a data-lbl=\"site-map\" href=\"/sitemap.html\">Site Map</a></li> <li><a data-lbl=\"privacy\" href=\"/legal/privacy/\">Privacy</a><span>/</span><a data-lbl=\"do-not-sell-my-info\" href=\"/legal/privacy/privacy-choices.html\">Do Not Sell My Info</a></li> <li><div id=\"teconsent\"></div></li> <li><a data-lbl=\"ad-choices\" href=\"/legal/privacy/marketing-cloud-data-cloud-privacy-policy.html#adchoices\">Ad Choices</a></li> <li><a data-lbl=\"careers\" href=\"/corporate/careers/\">Careers</a></li> </ul> <ul class=\"scl-icons\"> <li class=\"scl-facebook\"><a data-lbl=\"scl-icon:facebook\" href=\"https://www.facebook.com/Oracle/\" target=\"_blank\" title=\"Oracle on Facebook\">Facebook</a></li> <li class=\"scl-twitter\"><a data-lbl=\"scl-icon:twitter\" href=\"https://twitter.com/oracle\" target=\"_blank\" title=\"Follow Oracle on Twitter\">Twitter</a></li> <li class=\"scl-linkedin\"><a data-lbl=\"scl-icon:linkedin\" href=\"https://www.linkedin.com/company/oracle/\" target=\"_blank\" title=\"Oracle on LinkedIn\">LinkedIn</a></li> <li class=\"scl-youtube\"><a data-lbl=\"scl-icon:you-tube\" href=\"https://www.youtube.com/oracle/\" target=\"_blank\" title=\"Watch Oracle on YouTube\">YouTube</a></li> </ul> </div> </div> </div> <!-- /U10v0 --> <!-- END: oWidget_C/_Raw-Text/Display --> <!-- /U10v0 --> </div> <!-- Container/Display Start --> <!-- _Raw-Text --> <!-- www-us EndBodyAdminContainer --> <!-- Start SiteCatalyst code --> <script language=\"JavaScript\" src=\"https://www.oracleimg.com/us/assets/metrics/ora_ocom.js\"></script> <!-- End SiteCatalyst code --> <!-- www-us EndBodyAdminContainer --> <!-- / _Raw-Text --> <!-- Container/Display end --> </body> </html> "; // result will be a tuple containing the start and end indices for the first match in the string let result = regex.captures(string); let (start, end) = match result { Some((s, e)) => (s, e), None => { // ... } }; println!("{}", &string[start, end]); }

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/