irongit

A better version of regex 101

moonregex/index.html
108 lines9.4 KBHTML
1<!DOCTYPE html>
2<html lang="en" class="notranslate" translate="no" data-theme="light">
3
4<head>
5 <meta charset="UTF-8">
6 <meta name="apple-mobile-web-app-capable" content="yes">
7 <meta name="apple-mobile-web-app-status-bar-style" content="default">
8 <meta name="mobile-web-app-capable" content="yes">
9 <meta name="HandheldFriendly" content="True">
10 <meta name="MobileOptimized" content="320">
11 <meta name="format-detection" content="telephone=no">
12 <meta name="title" content="regex101">
13
14 <link rel="stylesheet" type="text/css" href="/static/bundle.5f9425999a8b7f94b3ae.css" id="mainCss">
15
16 <link rel="preconnect" href="https://fonts.googleapis.com">
17 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
18 <link rel="preload"
19 href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Source+Code+Pro:wght@400;500;700&display=swap"
20 as="style" onload="this.onload=null;this.rel='stylesheet'">
21
22 <link rel="apple-touch-icon" sizes="57x57" href="/static/assets/icon-57.png">
23 <link rel="apple-touch-icon" sizes="60x60" href="/static/assets/icon-60.png">
24 <link rel="apple-touch-icon" sizes="72x72" href="/static/assets/icon-72.png">
25 <link rel="apple-touch-icon" sizes="76x76" href="/static/assets/icon-76.png">
26 <link rel="apple-touch-icon" sizes="114x114" href="/static/assets/icon-114.png">
27 <link rel="apple-touch-icon" sizes="120x120" href="/static/assets/icon-120.png">
28 <link rel="apple-touch-icon" sizes="144x144" href="/static/assets/icon-144.png">
29 <link rel="apple-touch-icon" sizes="152x152" href="/static/assets/icon-152.png">
30 <link rel="apple-touch-icon" sizes="180x180" href="/static/assets/icon-180.png">
31
32 <link rel="shortcut icon" href="/static/assets/favicon.ico" type="image/x-icon">
33 <link rel="icon" type="image/png" sizes="16x16" href="/static/assets/icon-16.png">
34 <link rel="icon" type="image/png" sizes="32x32" href="/static/assets/icon-32.png">
35 <link rel="icon" type="image/png" sizes="96x96" href="/static/assets/icon-96.png">
36 <link rel="icon" type="image/png" sizes="192x192" href="/static/assets/icon-192.png">
37
38 <link rel="manifest" href="/static/assets/manifest.webmanifest">
39 <meta name="theme-color" content="#3366a4">
40
41 <link href="https://regex101.com" rel="home" />
42 <meta name="viewport"
43 content="width=device-width, minimum-scale=1.0, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
44 <meta name="keywords"
45 content="regex,regex tester,regular expression,debugger,pcre,php,golang,java,javascript,python,.net,c#">
46 <meta name="description"
47 content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET.">
48 <meta name="author" content="Firas Dib">
49
50 <meta property="twitter:card" content="summary_large_image">
51 <meta property="twitter:site" content="@regex101">
52 <meta property="twitter:title" content="regex101: build, test, and debug regex">
53 <meta property="twitter:description"
54 content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET.">
55 <meta property="twitter:creator" content="@regex101">
56 <meta property="twitter:image" content="https://regex101.com/static/assets/card.png">
57 <meta property="twitter:domain" content="regex101.com">
58
59 <meta property="og:image" content="https://regex101.com/static/assets/card.png">
60 <meta property="og:image:width" content="1200">
61 <meta property="og:image:height" content="630">
62 <meta property="og:title" content="regex101: build, test, and debug regex">
63 <meta property="og:description"
64 content="Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java, C#/.NET.">
65 <meta property="og:url" content="https://regex101.com/">
66 <meta property="og:site_name" content="regex101">
67 <meta property="og:type" content="website">
68
69 <meta name="google" content="notranslate" />
70 <title>regex101: build, test, and debug regex</title>
71 <script>var l; document.addEventListener("readystatechange", l = function (h) { if ("interactive" === h.target.readyState) { document.removeEventListener("readystatechange", l); try { var c, d, e, a = null == (d = JSON.parse(null == (c = localStorage) ? void 0 : c.getItem("regex101-state"))) ? void 0 : null == (e = d.settings) ? void 0 : e.theme, b, f, g, k = (null == (b = window) ? 0 : null == (f = b.matchMedia) ? 0 : null == (g = f.call(b, "(prefers-color-scheme: dark)")) ? 0 : g.matches) ? "dark" : "light"; document.documentElement.setAttribute("data-theme", a && "AUTO" !== a ? a : k) } catch (m) { console.error("Unable to set theme", m) } } });</script>
72 <script>
73 window.__INITIAL_STATE__ = '%7B%22account%22%3A%7B%22data%22%3A%5B%5D%2C%22pages%22%3A0%2C%22allTags%22%3A%5B%5D%2C%22staleData%22%3Atrue%7D%2C%22general%22%3A%7B%22permalinkFragment%22%3Anull%2C%22version%22%3Anull%2C%22deleteCode%22%3Anull%2C%22userId%22%3Anull%2C%22email%22%3Anull%2C%22profilePicture%22%3Anull%2C%22serviceProvider%22%3Anull%2C%22isFavorite%22%3Afalse%2C%22isLibraryEntry%22%3Afalse%2C%22title%22%3Anull%2C%22documentTitle%22%3A%22build%2C%20test%2C%20and%20debug%20regex%22%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.%22%2C%22tags%22%3A%5B%5D%2C%22cookie%22%3A%22%22%2C%22sponsorData%22%3Anull%2C%22currentTheme%22%3A%22AUTO%22%2C%22permalinkIsEditable%22%3Atrue%2C%22isOwner%22%3Afalse%7D%2C%22libraryEntry%22%3A%7B%22title%22%3Anull%2C%22description%22%3Anull%2C%22author%22%3Anull%7D%2C%22quiz%22%3A%7B%22allTasks%22%3A%5B%5D%7D%2C%22regexAreaParser%22%3A%7B%22tokens%22%3A%5B%5D%2C%22subpatterns%22%3A%5B%5D%2C%22captureGroupMap%22%3A%7B%7D%2C%22captureGroupCount%22%3A0%2C%22status%22%3Anull%2C%22definedSubpatterns%22%3A%5B%5D%7D%2C%22regexEditor%22%3A%7B%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%22regexVersions%22%3A0%2C%22showMatchArea%22%3Atrue%2C%22showSubstitutionArea%22%3Afalse%2C%22showUnitTestArea%22%3Afalse%2C%22showListSubstitutionArea%22%3Afalse%7D%2C%22regexLibrary%22%3A%7B%22libraryData%22%3A%5B%5D%2C%22pages%22%3A0%2C%22details%22%3Anull%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%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%22autoComplete%22%3Afalse%2C%22wrapLines%22%3Atrue%2C%22testAreaLineNumbers%22%3Afalse%2C%22regexAreaLineNumbers%22%3Afalse%2C%22language%22%3A%22ENGLISH%22%2C%22storageSaved%22%3Anull%2C%22storageLoaded%22%3Anull%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%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%7D';
74 </script>
75
76 <script src="/static/vendors-bundle.951c75033b74008308ae.js" defer></script>
77 <script src="/static/bundle.9f9a755d912651405097.js" defer></script>
78
79 <script defer>
80 (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 })) })();
81 </script>
82
83 <link rel="preload" href="/static/quickref.2c3113f06c479a67c60a.chunk.js" as="script" />
84 <link rel="preload" href="/static/653.6e679a10c3aae1d7e364.css" as="style" />
85
86 <script fetchpriority="low" defer data-domain="regex101.com"
87 src="https://analytics.regex101.com/js/plausible.js"></script>
88</head>
89
90
91<body>
92 <div id="regex-app"></div>
93 <script>
94 window.onload = () => {
95 const target = document.getElementsByClassName('AUc0W')[0]
96 const app = document.createElement('div')
97 app.prepend('hello')
98 const appScript = document.createElement('script')
99 appScript.type = 'module'
100 appScript.src = '/src/main.jsx'
101 app.id = 'root'
102 target.prepend(app)
103 target.append(appScript)
104 }
105 </script>
106</body>
107
108</html>