https://regex101.com/

Submitted URL:
https://regex101.com/
Report Finished:

The outgoing links identified from the page

JavaScript Variables · 11 found

Global JavaScript variables loaded on the window object of a page, are variables declared outside of functions and accessible from anywhere in the code within the current scope

Console log messages · 6 found

Messages logged to the web console

HTML

The raw HTML body of the page

<!DOCTYPE html><html lang="en" class="notranslate" translate="no" data-theme="light"><head><style>.ͼ1.cm-focused {outline: 1px dotted #212121;}
.ͼ1 {position: relative !important; box-sizing: border-box; display: flex !important; flex-direction: column;}
.ͼ1 .cm-scroller {display: flex !important; align-items: flex-start !important; font-family: monospace; line-height: 1.4; height: 100%; overflow-x: auto; position: relative; z-index: 0; overflow-anchor: none;}
.ͼ1 .cm-content[contenteditable=true] {-webkit-user-modify: read-write-plaintext-only;}
.ͼ1 .cm-content {margin: 0; flex-grow: 2; flex-shrink: 0; display: block; white-space: pre; word-wrap: normal; box-sizing: border-box; min-height: 100%; padding: 4px 0; outline: none;}
.ͼ1 .cm-lineWrapping {white-space: pre-wrap; white-space: break-spaces; word-break: break-word; overflow-wrap: anywhere; flex-shrink: 1;}
.ͼ2 .cm-content {caret-color: black;}
.ͼ3 .cm-content {caret-color: white;}
.ͼ1 .cm-line {display: block; padding: 0 2px 0 6px;}
.ͼ1 .cm-layer > * {position: absolute;}
.ͼ1 .cm-layer {position: absolute; left: 0; top: 0; contain: size style;}
.ͼ2 .cm-selectionBackground {background: #d9d9d9;}
.ͼ3 .cm-selectionBackground {background: #222;}
.ͼ2.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground {background: #d7d4f0;}
.ͼ3.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground {background: #233;}
.ͼ1 .cm-cursorLayer {pointer-events: none;}
.ͼ1.cm-focused > .cm-scroller > .cm-cursorLayer {animation: steps(1) cm-blink 1.2s infinite;}
@keyframes cm-blink {50% {opacity: 0;}}
@keyframes cm-blink2 {50% {opacity: 0;}}
.ͼ1 .cm-cursor, .ͼ1 .cm-dropCursor {border-left: 1.2px solid black; margin-left: -0.6px; pointer-events: none;}
.ͼ1 .cm-cursor {display: none;}
.ͼ3 .cm-cursor {border-left-color: #444;}
.ͼ1 .cm-dropCursor {position: absolute;}
.ͼ1.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor {display: block;}
.ͼ1 .cm-iso {unicode-bidi: isolate;}
.ͼ1 .cm-announced {position: fixed; top: -10000px;}
@media print {.ͼ1 .cm-announced {display: none;}}
.ͼ2 .cm-activeLine {background-color: #cceeff44;}
.ͼ3 .cm-activeLine {background-color: #99eeff33;}
.ͼ2 .cm-specialChar {color: red;}
.ͼ3 .cm-specialChar {color: #f78;}
.ͼ1 .cm-gutters {flex-shrink: 0; display: flex; height: 100%; box-sizing: border-box; inset-inline-start: 0; z-index: 200;}
.ͼ2 .cm-gutters {background-color: #f5f5f5; color: #6c6c6c; border-right: 1px solid #ddd;}
.ͼ3 .cm-gutters {background-color: #333338; color: #ccc;}
.ͼ1 .cm-gutter {display: flex !important; flex-direction: column; flex-shrink: 0; box-sizing: border-box; min-height: 100%; overflow: hidden;}
.ͼ1 .cm-gutterElement {box-sizing: border-box;}
.ͼ1 .cm-lineNumbers .cm-gutterElement {padding: 0 3px 0 5px; min-width: 20px; text-align: right; white-space: nowrap;}
.ͼ2 .cm-activeLineGutter {background-color: #e2f2ff;}
.ͼ3 .cm-activeLineGutter {background-color: #222227;}
.ͼ1 .cm-panels {box-sizing: border-box; position: sticky; left: 0; right: 0; z-index: 300;}
.ͼ2 .cm-panels {background-color: #f5f5f5; color: black;}
.ͼ2 .cm-panels-top {border-bottom: 1px solid #ddd;}
.ͼ2 .cm-panels-bottom {border-top: 1px solid #ddd;}
.ͼ3 .cm-panels {background-color: #333338; color: white;}
.ͼ1 .cm-tab {display: inline-block; overflow: hidden; vertical-align: bottom;}
.ͼ1 .cm-widgetBuffer {vertical-align: text-top; height: 1em; width: 0; display: inline;}
.ͼ1 .cm-placeholder {color: #888; display: inline-block; vertical-align: top;}
.ͼ1 .cm-highlightSpace {background-image: radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%); background-position: center;}
.ͼ1 .cm-highlightTab {background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>'); background-size: auto 100%; background-position: right 90%; background-repeat: no-repeat;}
.ͼ1 .cm-trailingSpace {background-color: #ff332255;}
.ͼ1 .cm-button {vertical-align: middle; color: inherit; font-size: 70%; padding: .2em 1em; border-radius: 1px;}
.ͼ2 .cm-button:active {background-image: linear-gradient(#b4b4b4, #d0d3d6);}
.ͼ2 .cm-button {background-image: linear-gradient(#eff1f5, #d9d9df); border: 1px solid #888;}
.ͼ3 .cm-button:active {background-image: linear-gradient(#111, #333);}
.ͼ3 .cm-button {background-image: linear-gradient(#393939, #111); border: 1px solid #888;}
.ͼ1 .cm-textfield {vertical-align: middle; color: inherit; font-size: 70%; border: 1px solid silver; padding: .2em .5em;}
.ͼ2 .cm-textfield {background-color: white;}
.ͼ3 .cm-textfield {border: 1px solid #555; background-color: inherit;}
.ͼ4 .cm-line ::selection, .ͼ4 .cm-line::selection {background-color: transparent !important;}
.ͼ4 .cm-line {caret-color: transparent !important;}
.ͼ4 .cm-content :focus::selection, .ͼ4 .cm-content :focus ::selection {background-color: Highlight !important;}
.ͼ4 .cm-content :focus {caret-color: initial !important;}
.ͼ4 .cm-content {caret-color: transparent !important;}
</style>
  <meta charset="UTF-8">
  <meta name="google" content="notranslate">
  <meta name="title" content="regex101">
  <meta name="description" content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.">
  <meta name="author" content="Firas Dib">
  
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&amp;family=Source+Code+Pro:wght@400;500;700&amp;display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
  
  <link href="https://regex101.com" rel="home">
  
  
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="default">
  <meta name="mobile-web-app-capable" content="yes">
  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <link rel="apple-touch-icon" sizes="57x57" href="/static/assets/icon-57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/static/assets/icon-60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/static/assets/icon-72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/static/assets/icon-76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/static/assets/icon-114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/static/assets/icon-120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/static/assets/icon-144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/static/assets/icon-152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/static/assets/icon-180.png">
  <link rel="shortcut icon" href="/static/assets/favicon.ico" type="image/x-icon">
  <link rel="icon" type="image/png" sizes="16x16" href="/static/assets/icon-16.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/static/assets/icon-32.png">
  <link rel="icon" type="image/png" sizes="96x96" href="/static/assets/icon-96.png">
  <link rel="icon" type="image/png" sizes="192x192" href="/static/assets/icon-192.png">
  <link rel="manifest" href="/static/assets/manifest.webmanifest">
  <meta name="theme-color" content="#2c5c97">
  <meta name="apple-mobile-web-app-title" content="regex101: build, test, and debug regex">
  <meta name="application-name" content="regex101: build, test, and debug regex">
  <meta name="format-detection" content="telephone=no">
  
  <link rel="apple-touch-startup-image" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/4__iPhone_SE__iPod_touch_5th_generation_and_later_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/12.9__iPad_Pro_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/11__iPad_Pro__10.5__iPad_Pro_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_14_Pro_Max_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/11__iPad_Pro__10.5__iPad_Pro_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_14_Pro_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/8.3__iPad_Mini_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/10.2__iPad_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_11_Pro_Max__iPhone_XS_Max_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/iPhone_11__iPhone_XR_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/iPhone_11__iPhone_XR_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_11_Pro_Max__iPhone_XS_Max_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/9.7__iPad_Pro__7.9__iPad_mini__9.7__iPad_Air__9.7__iPad_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_14__iPhone_13_Pro__iPhone_13__iPhone_12_Pro__iPhone_12_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_14_Pro_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/10.5__iPad_Air_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_8_Plus__iPhone_7_Plus__iPhone_6s_Plus__iPhone_6_Plus_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/static/assets/iPhone_14_Pro_Max_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/10.9__iPad_Air_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/10.2__iPad_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/4__iPhone_SE__iPod_touch_5th_generation_and_later_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/12.9__iPad_Pro_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_14_Plus__iPhone_13_Pro_Max__iPhone_12_Pro_Max_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 820px) and (device-height: 1180px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/10.9__iPad_Air_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/8.3__iPad_Mini_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/static/assets/iPhone_8__iPhone_7__iPhone_6s__iPhone_6__4.7__iPhone_SE_portrait.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/static/assets/10.5__iPad_Air_landscape.png">
  <link rel="apple-touch-startup-image" media="screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/static/assets/iPhone_13_mini__iPhone_12_mini__iPhone_11_Pro__iPhone_XS__iPhone_X_landscape.png">


  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover">
  <meta name="keywords" content="regex,regex tester,regular expression,debugger,pcre,php,golang,java,javascript,python,.net,c#,rust">
  
  
  <meta property="twitter:card" content="summary_large_image">
  <meta property="twitter:site" content="@regex101">
  <meta property="twitter:title" content="regex101: build, test, and debug regex">
  <meta property="twitter:description" content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.">
  <meta property="twitter:creator" content="@regex101">
  <meta property="twitter:image" content="https://regex101.com/preview/">
  <meta property="twitter:domain" content="regex101.com">

  <meta property="og:image" content="https://regex101.com/preview/">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="630">
  <meta property="og:title" content="regex101: build, test, and debug regex">
  <meta property="og:description" content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET, Rust.">
  <meta property="og:url" content="https://regex101.com/">
  <meta property="og:site_name" content="regex101">
  <meta property="og:type" content="website">

  
  <script>var e;document.addEventListener("readystatechange",e=function(t){if("interactive"===t.target.readyState){document.removeEventListener("readystatechange",e);try{var a,n,r,o,d=JSON.parse((null===(a=JSON.parse(null===(n=localStorage)||void 0===n?void 0:n.getItem("persist:settings")))||void 0===a?void 0:a.theme)||null),l=null!==(r=window)&&void 0!==r&&null!==(o=r.matchMedia)&&void 0!==o&&null!==(o=o.call(r,"(prefers-color-scheme: dark)"))&&void 0!==o&&o.matches?"dark":"light";document.documentElement.setAttribute("data-theme",d&&"AUTO"!==d?d:l)}catch(e){console.error("Unable to set theme",e)}}});</script>
  <script defer="">
  (function(){var a="Worker"in window,b="Promise"in window,c="object"===typeof WebAssembly&&"function"===typeof WebAssembly.instantiate;a&&b&&c||(window.__LEGACY__=!0,window.addEventListener("load",function(){document.body.innerHTML='<div style="padding: 60px; max-width: 600px;margin: 0 auto; text-align: center; font-size: 20px; line-height: 1.5;"><div><p>Unfortunately it seems your browser does not meet the criteria to properly render and utilize this website. You need a browser with support for web workers and Web Assembly.</p><a href="http://browsehappy.com/" style="color: blue;">Please upgrade your browser and come back</a></div><p><strong>Note: if you\'re running a newer version of Edge, and still getting this message, check your security settings as they can be preventing webassembly from running.</strong></p><p><strong>Debug results:</strong> Worker='+a+", Promise="+b+", WASM="+c+"</strong></p></div>"},{once:!0}))})();
  </script>

  <script fetchpriority="low" defer="" data-domain="regex101.com" src="https://analytics.regex101.com/js/plausible.js"></script>
  
  <title>regex101: build, test, and debug regex</title>
  
  <script>
    window.__INITIAL_STATE__ = '%7B%22api%22%3A%7B%22queries%22%3A%7B%7D%2C%22mutations%22%3A%7B%7D%2C%22provided%22%3A%7B%7D%2C%22subscriptions%22%3A%7B%7D%2C%22config%22%3A%7B%22online%22%3Atrue%2C%22focused%22%3Atrue%2C%22middlewareRegistered%22%3Atrue%2C%22refetchOnFocus%22%3Afalse%2C%22refetchOnReconnect%22%3Afalse%2C%22refetchOnMountOrArgChange%22%3Afalse%2C%22keepUnusedDataFor%22%3A60%2C%22reducerPath%22%3A%22api%22%2C%22invalidationBehavior%22%3A%22delayed%22%7D%7D%2C%22miscApi%22%3A%7B%22queries%22%3A%7B%7D%2C%22mutations%22%3A%7B%7D%2C%22provided%22%3A%7B%7D%2C%22subscriptions%22%3A%7B%7D%2C%22config%22%3A%7B%22online%22%3Atrue%2C%22focused%22%3Atrue%2C%22middlewareRegistered%22%3Atrue%2C%22refetchOnFocus%22%3Afalse%2C%22refetchOnReconnect%22%3Afalse%2C%22refetchOnMountOrArgChange%22%3Afalse%2C%22keepUnusedDataFor%22%3A60%2C%22reducerPath%22%3A%22miscApi%22%2C%22invalidationBehavior%22%3A%22delayed%22%7D%7D%2C%22rightSidebar%22%3A%7B%22activeSubsection%22%3A%22EXPLANATION%22%2C%22visibleSections%22%3A%5B%22EXPLANATION%22%2C%22MATCH_INFO%22%2C%22QUICKREF%22%5D%2C%22hiddenSections%22%3A%5B%5D%2C%22width%22%3Anull%7D%2C%22regexEditor%22%3A%7B%22parserState%22%3A%7B%22captureGroupMap%22%3A%7B%7D%2C%22captureGroupCount%22%3A0%2C%22definedSubpatterns%22%3A%5B%5D%2C%22patternError%22%3Afalse%2C%22hasParsed%22%3Afalse%7D%2C%22flavor%22%3A%22pcre2%22%2C%22delimiter%22%3A%22%2F%22%2C%22flags%22%3A%22gm%22%2C%22regex%22%3A%22%22%2C%22testString%22%3A%22%22%2C%22matchResult%22%3A%5B%5D%2C%22error%22%3Anull%2C%22substString%22%3A%22%22%2C%22listSubstString%22%3A%22%22%2C%22hasUnsavedData%22%3Atrue%2C%22selectedEditorType%22%3A%22MATCH%22%2C%22libraryDetails%22%3A%7B%22description%22%3Anull%2C%22author%22%3Anull%2C%22title%22%3Anull%7D%2C%22userDetails%22%3A%7B%22isOwner%22%3Afalse%2C%22isFavorite%22%3Afalse%7D%2C%22permalinkDetails%22%3A%7B%22isLibraryEntry%22%3Afalse%2C%22isPrivate%22%3Afalse%2C%22isLocked%22%3Afalse%2C%22fragment%22%3Anull%2C%22version%22%3Anull%2C%22isEditable%22%3Afalse%2C%22regexDeleteCode%22%3Anull%2C%22versionDeleteCode%22%3Anull%2C%22tags%22%3A%5B%5D%2C%22title%22%3Anull%7D%7D%2C%22settings%22%3A%7B%22maxExecutionTime%22%3A2000%2C%22theme%22%3A%22AUTO%22%2C%22nonParticipatingGroups%22%3Afalse%2C%22displayWhitespace%22%3Atrue%2C%22colorizeSyntax%22%3Atrue%2C%22wrapLines%22%3Atrue%2C%22testAreaLineNumbers%22%3Afalse%2C%22regexAreaLineNumbers%22%3Afalse%2C%22language%22%3A%22ENGLISH%22%2C%22editorTooltips%22%3Atrue%2C%22alwaysCollapseLeftSidebar%22%3Afalse%2C%22alwaysCollapseRightSidebar%22%3Afalse%2C%22defaultFlavor%22%3A%22pcre2%22%2C%22showWarningUnsavedProgress%22%3Atrue%2C%22defaultCodeGenLanguage%22%3A%22%22%2C%22calculateRegexSteps%22%3Atrue%2C%22defaultTabBehavior%22%3Atrue%2C%22disableKeyboardShortcuts%22%3Afalse%2C%22lineSeparator%22%3A%22%22%2C%22plainTextExplanation%22%3A%22PLAIN_TEXT_BOTH%22%2C%22leftSidebarBreakpoint%22%3A1080%2C%22rightSidebarBreakpoint%22%3A900%2C%22matchInfoPanel%22%3Atrue%2C%22benchmarkDuration%22%3A10000%7D%2C%22unitTests%22%3A%7B%22tests%22%3A%5B%5D%2C%22testResults%22%3A%7B%7D%2C%22testsRunning%22%3Afalse%2C%22testFilter%22%3A%22ALL%22%7D%2C%22general%22%3A%7B%22forceOffline%22%3Afalse%2C%22userId%22%3Anull%2C%22email%22%3Anull%2C%22profilePicture%22%3Anull%2C%22serviceProvider%22%3Anull%2C%22documentTitle%22%3Anull%2C%22metaDescription%22%3A%22Regular%20expression%20tester%20with%20syntax%20highlighting%2C%20explanation%2C%20cheat%20sheet%20for%20PHP%2FPCRE%2C%20Python%2C%20GO%2C%20JavaScript%2C%20Java%2C%20C%23%2F.NET%2C%20Rust.%22%2C%22currentTheme%22%3A%22light%22%2C%22isLibraryModerator%22%3Afalse%2C%22licenseInfo%22%3A%7B%22exp%22%3A%222099-01-01T00%3A00%3A00.000Z%22%2C%22lastValidated%22%3A%222024-10-08T16%3A00%3A04.807Z%22%7D%7D%2C%22account%22%3A%7B%22allTags%22%3A%5B%5D%2C%22hasLoaded%22%3Afalse%7D%2C%22quiz%22%3A%7B%22currentTaskData%22%3A%7B%7D%2C%22totalTasks%22%3A0%7D%2C%22sponsors%22%3A%7B%22sponsorData%22%3Anull%2C%22sponsors%22%3A%5B%5D%2C%22adBlock%22%3Afalse%2C%22isLoading%22%3Atrue%7D%7D';
  </script>

  <link rel="preload" href="/static/vendors-accountPage-quickref.e80e7da7a8e296458fd8.chunk.js" as="script">
<link rel="preload" href="/static/67.7a08e53f4cbe0280b2fa.css" as="style">
<link rel="preload" href="/static/quickref.2381affcf64e7b3af308.chunk.js" as="script">
<script src="/static/vendors-bundle.63bbe289ff4e5599639f.js" defer=""></script>
<link rel="stylesheet" type="text/css" href="/static/23.b2a0855ed5fe212190ae.css" class="regex101-style">
<script src="/static/bundle.ffa63590b249b03cbee4.js" defer=""></script>
</head>
<body>
<div id="regex-app"><div class="jQbJW"><header class="Mt50K bHk2L UPuj1"><h1><a href="/" class="uBZxP W6KiV JhGf4" rel="noopener" tabindex="0" aria-label="regular expressions 101"><span class="FMl1u">Regular</span> <span class="f4WR9">Expressions</span> <span class="Tp_GT">101</span></a></h1><div class="McSFM"><button class="C6U5L KJDCG" aria-label="Social" type="button"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="vlEEI XQgaE" height="14" width="14" xmlns="http://www.w3.org/2000/svg"><path d="M19 3c-1.654 0-3 1.346-3 3 0 .502.136.968.354 1.385l-1.116 1.302A3.976 3.976 0 0 0 13 8c-.739 0-1.425.216-2.02.566L9.566 7.152A3.449 3.449 0 0 0 10 5.5C10 3.57 8.43 2 6.5 2S3 3.57 3 5.5 4.57 9 6.5 9c.601 0 1.158-.166 1.652-.434L9.566 9.98A3.972 3.972 0 0 0 9 12c0 .997.38 1.899.985 2.601l-1.692 1.692.025.025A2.962 2.962 0 0 0 7 16c-1.654 0-3 1.346-3 3s1.346 3 3 3 3-1.346 3-3c0-.476-.121-.919-.318-1.318l.025.025 1.954-1.954c.421.15.867.247 1.339.247 2.206 0 4-1.794 4-4a3.96 3.96 0 0 0-.439-1.785l1.253-1.462c.364.158.764.247 1.186.247 1.654 0 3-1.346 3-3s-1.346-3-3-3zM7 20a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM5 5.5C5 4.673 5.673 4 6.5 4S8 4.673 8 5.5 7.327 7 6.5 7 5 6.327 5 5.5zm8 8.5c-1.103 0-2-.897-2-2s.897-2 2-2 2 .897 2 2-.897 2-2 2zm6-7a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"></path></svg><span class="H1qpb">Social</span><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="U9nzP" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg></button><button class="C6U5L KJDCG" aria-label="Donate" type="button"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="vlEEI PIHnJ" height="14" width="14" xmlns="http://www.w3.org/2000/svg"><path d="M15.999 8.5h2c0-2.837-2.755-4.131-5-4.429V2h-2v2.071c-2.245.298-5 1.592-5 4.429 0 2.706 2.666 4.113 5 4.43v4.97c-1.448-.251-3-1.024-3-2.4h-2c0 2.589 2.425 4.119 5 4.436V22h2v-2.07c2.245-.298 5-1.593 5-4.43s-2.755-4.131-5-4.429V6.1c1.33.239 3 .941 3 2.4zm-8 0c0-1.459 1.67-2.161 3-2.4v4.799c-1.371-.253-3-1.002-3-2.399zm8 7c0 1.459-1.67 2.161-3 2.4v-4.8c1.33.239 3 .941 3 2.4z"></path></svg><span class="H1qpb">Donate</span><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="U9nzP" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg></button><button class="C6U5L KJDCG" aria-label="Info" type="button"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="vlEEI sR62n" height="14" width="14" xmlns="http://www.w3.org/2000/svg"><path d="M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM11 7H13V9H11V7ZM11 11H13V17H11V11Z"></path></svg><span class="H1qpb">Info</span><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="U9nzP" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"></path></svg></button></div></header><div><div class="C6U5L Tbe4j v7stO iPXmW" aria-label="Show Sidebar" role="button" tabindex="0" style="width: 28px; height: 28px;"><div class="YGpqN kcIdU"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="rtPos" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M3 4H21V6H3V4ZM3 11H21V13H3V11ZM3 18H21V20H3V18Z"></path></svg></div></div></div><div class="KQ_Ab EixJs"><div class="bCcdz"><div><div class="C6U5L Tbe4j v7stO Wx51d" aria-label="Show Sidebar" role="button" tabindex="0" style="width: 28px; height: 28px;"><div class="YGpqN kcIdU"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" class="rtPos" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M3 4H21V6H3V4ZM3 11H21V13H3V11ZM3 18H21V20H3V18Z"></path></svg></div></div></div><div class="GIv_Y"><div class="JeE3Q"><div class="swzka"><h2 class="tv8Jw oY83r Sgmg3"><span class="oY83r">Regular Expression</span><div class="Czfcr"><div class="wQBLX" aria-label=""><div class="wH74e pVtvJ">No Match</div></div></div></h2></div><div class="SXWLM"><div class="C6U5L dC7Q2" aria-disabled="false" aria-label="Change delimiter" role="button" tabindex="0"><div class="DwzEN"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 192 512" class="tqmJA" height="12" width="12" xmlns="http://www.w3.org/2000/svg"><path d="M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"></path></svg>/</div></div><div class="sMRwm" translate="no" aria-label="insert your regular expression here" dir="ltr"><div class="cm-editor ͼ1 ͼ2 ͼ4"><div class="cm-announced" aria-live="polite"></div><div tabindex="-1" class="cm-scroller"><div spellcheck="false" autocorrect="off" autocapitalize="off" translate="no" contenteditable="true" style="tab-size: 4;" class="cm-content cm-lineWrapping" role="textbox" aria-multiline="true" aria-label="insert your regular expression here"><div class="cm-line"><img class="cm-widgetBuffer" aria-hidden="true"><span class="cm-placeholder" aria-label="placeholder insert your regular expression here" contenteditable="false" style="pointer-events: none;">insert your regular expression here</span><br></div></div><div class="cm-layer cm-layer-above cm-cursorLayer" aria-hidden="true" style="z-index: 150; animation-duration: 1200ms; animation-name: cm-blink;"><div class="cm-cursor cm-cursor-primary" style="left: 2px; top: 4px; height: 19px;"></div></div><div class="cm-layer cm-selectionLayer" aria-hidden="true" style="z-index: -2;"></div></div></div></div><div class="C6U5L kXfR7" aria-label="gm" role="button" tabindex="0"><div class="YizcW"><div class="LDjM1">/</div><div class="Rt5R5">gm</div></div></div><button class="C6U5L jjmIt HDqqe mzs7q CDRYe" aria-disabled="true" disabled="" aria-label="Copy to clipboard" tabindex="-1" type="button"><svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 24 24" height="16" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M6.9998 6V3C6.9998 2.44772 7.44752 2 7.9998 2H19.9998C20.5521 2 20.9998 2.44772 20.9998 3V17C20.9998 17.5523 20.5521 18 19.9998 18H16.9998V20.9991C16.9998 21.5519 16.5499 22 15.993 22H4.00666C3.45059 22 3 21.5554 3 20.9991L3.0026 7.00087C3.0027 6.44811 3.45264 6 4.00942 6H6.9998ZM5.00242 8L5.00019 20H14.9998V8H5.00242ZM8.9998 6H16.9998V16H18.9998V4H8.9998V6Z"></path></svg></button></div></div><div class="q7fFs"><div class="B_rlJ"><div class="j5yfc"><h2 class="tv8Jw oY83r Sgmg3"><span class="oY83r">Test String</span></h2><div class="MP7Wk"><div class="tPLNx" translate="no" aria-label="insert your test string here" dir="ltr"><div class="cm-editor ͼ1 ͼ2 ͼ4 "><div class="cm-announced" aria-live="polite"></div><div tabindex="-1" class="cm-scroller"><div spellcheck="false" autocorrect="off" autocapitalize="off" translate="no" contenteditable="true" style="tab-size: 4;" class="cm-content cm-lineWrapping" role="textbox" aria-multiline="true" aria-label="insert your test string here"><div class="cm-line"><img class="cm-widgetBuffer" aria-hidden="true"><span class="cm-placeholder" aria-label="placeholder insert your test string here" contenteditable="false" style="pointer-events: none;">insert your test string here</span><br></div></div><div class="cm-layer cm-layer-above cm-cursorLayer" aria-hidden="true" style="z-index: 150; animation-duration: 1200ms; animation-name: cm-blink;"><div class="cm-cursor cm-cursor-primary" style="left: 0px; top: 2px; height: 19px;"></div></div><div class="cm-layer cm-selectionLayer" aria-hidden="true" style="z-index: -2;"></div></div><div class="cm-panels cm-panels-bottom" style="bottom: 0px;"><span class="yux_f cm-panel">1:1</span></div></div></div><canvas class="oFCTY" width="778" height="400" style="left: 0px;"></canvas></div></div></div></div></div></div></div></div><div></div><div></div></div></body></html>