{"id":1511,"date":"2023-04-09T22:00:00","date_gmt":"2023-04-09T20:00:00","guid":{"rendered":"https:\/\/demo.sidekick.be\/itenium\/regex-introduction\/"},"modified":"2025-11-28T13:31:43","modified_gmt":"2025-11-28T12:31:43","slug":"regex-introduction","status":"publish","type":"post","link":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/","title":{"rendered":"Regular Expressions: Introduction"},"content":{"rendered":"<p> Okay maybe that was not a good start trying to convince you to learn regex.<\/p>\n<h1 id=\"the-why\">The Why<\/h1>\n<p class=\"notice\"><strong>You don\u2019t know you need to know regex until you know regex.<\/strong><\/p>\n<h2 id=\"applicability\">Applicability<\/h2>\n<p>Regular Expressions are typically used for user <strong>input validation<\/strong>. Another good fit is <strong>extracting, deleting and\/or reorganising text<\/strong>. Replace a dozen lines of <code>Substring<\/code> and <code>IndexOf<\/code> with one \u2018pretty\u2019 regex!<\/p>\n<p>Other usage in code might be suspect: does the readability really benefit from the regex or does it just make things more complex.<\/p>\n<p class=\"notice--info\">Be sure to have Unit Tests for all input you\u2019d like to support.<br \/> You\u2019ll need them whenever requirements change or bugs need to be fixed.<\/p>\n<p><!--more--><\/p>\n<p> Even with this seemingly limited applicability &#8211; if you don\u2019t want to shoot yourself in the foot that is &#8211; regexes are still a very useful tool as they can be used in many one time actions.<\/p>\n<ul>\n<li>Find in (all project) files in your IDE or in a SQL DB<\/li>\n<li>Quickly find interesting stuff in big files (think logs, data dumps, csvs, etc)<\/li>\n<li>Convert data that came from A to what B likes<\/li>\n<li>Many a CLI tool or its parameters understands regex\n<ul>\n<li>You can even use \u2018regex\u2019 in Excel and Word\u2026<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>These are the reason this series is posted under the productivity category.<\/p>\n<h2 id=\"example\">Example<\/h2>\n<p>Whenever I fix a bug that was the result of an error that might have happened in other places as well, I might use a regex to find those, even if the other code contains different variable names, code style etc it would still find them &#8211; at least if the regex was written in a way that takes the context into account.<\/p>\n<h2 id=\"tooling\">Tooling<\/h2>\n<p>Don\u2019t forget about tooling. Having <strong>direct feedback on what your regex is matching on your dataset as you type it<\/strong>.. It\u2019s the best \ud83d\ude03<br \/> Any IDE worth its salt has this capability.<\/p>\n<p>Learn to work with <strong>multiple cursors<\/strong> in your IDE. It is a strong and capable companion to regex:<br \/> Why write the perfect find &amp; replace regex when you can write a simplistic regex on the top of your head and handle the replacement details with multiple cursor trickery?<\/p>\n<p>You want to avoid falling into the trap of spending more time on your regex than you would spend doing it manually.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/itenium-be.github.io\/blog-posts-new\/assets\/blog-images\/regex-time-trade-off.png\" alt=\"Manual vs Regex Time Trade-Off\" title=\"Manual vs Regex Time Trade-Off\" \/><\/p>\n<h2 id=\"learning\">Learning<\/h2>\n<p><a href=\"https:\/\/regexone.com\">RegExOne<\/a>: An interactive tutorial!<\/p>\n<p>Not necessarily learning resources, but still pretty handy: interactive RegEx testers. Paste a RegEx you found and match it against your input. Plus they explain the regex visually.<\/p>\n<ul>\n<li><a href=\"https:\/\/regexr.com\/\">RegExr<\/a><\/li>\n<li><a href=\"https:\/\/regex101.com\/\">RegEx101<\/a><\/li>\n<li><a href=\"https:\/\/www.debuggex.com\/?flavor=javascript\">debuggex<\/a><\/li>\n<li><a href=\"https:\/\/extendsclass.com\/regex-tester.html\">cyrilex<\/a><\/li>\n<\/ul>\n<p><strong>Mastering Regular Expressions<\/strong><\/p>\n<p>Even though the name of the book is <a href=\"https:\/\/www.amazon.com\/Mastering-Regular-Expressions-Jeffrey-Friedl\/dp\/0596528124\">Mastering Regular Expressions<\/a> it still starts really slow and is perfectly readable by someone with no (or very little) regex experience.<\/p>\n<h1 id=\"the-why-not\">The Why Not<\/h1>\n<p>Always be wary before resorting to regex \ud83d\ude09<\/p>\n<h2 id=\"implementations\">Implementations<\/h2>\n<p>As if RegExes are not confusing enough in and by themselves, there are different implementations of regex. While all implementations are largely the same, you may still find yourself in a situation where the regex works perfectly in your IDE but not from your application.<\/p>\n<p>Some examples (or <a href=\"https:\/\/gist.github.com\/CMCDragonkai\/6c933f4a7d713ef712145c5eb94a1816\">a full list<\/a>):<\/p>\n<ul>\n<li>Features not implemented. ex: named capture groups in JS (since added in <a href=\"https:\/\/github.com\/tc39\/proposal-regexp-named-groups\">ECMAScript 2018<\/a>)<\/li>\n<li><code>b<\/code> vs <code>&lt;|&gt;<\/code> for example in Visual Studio<\/li>\n<li>Different behavior of \u2018small\u2019 syntax errors. ex: throwing vs silently continuing<\/li>\n<li>.NET has <code>(?#comment)<\/code>, Java has not. Java has <code>Q...E<\/code>, .NET has not<\/li>\n<\/ul>\n<p><!-- Naah, not funny enough ![Basically too many differences](\/blog\/assets\/blog-images\/regex-hate.jpg \"Basically too many differences\") --><\/p>\n<h2 id=\"inapplicability\">Inapplicability<\/h2>\n<h3 id=\"html\">Html<\/h3>\n<p>There are the obvious ones: throwing <a href=\"https:\/\/stackoverflow.com\/questions\/1732348\/regex-match-open-tags-except-xhtml-self-contained-tags\/1732454#1732454\">regex against HTML<\/a> or XML.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/itenium-be.github.io\/blog-posts-new\/assets\/blog-images\/regex-html.png\" alt=\"HTML Parsing\" title=\"HTML Parsing\" \/><\/p>\n<p><strong>Use a parser instead<\/strong>. And then you can throw some jquery against it or whatever API your language exposes. It\u2019s going to be a lot more readable, maintainable and more robust to changes in the HTML.<\/p>\n<p>I might get hate mail for posting this on the interwebs (or worse) but really: if you have <strong>some HTML or XML<\/strong> which you know always has <strong>the exact same structure<\/strong> and you need to <strong>do something simple<\/strong>, well\u2026 Why not? What\u2019s the worst that can happen by using a regex to extract <code>&lt;SomeUniqueNode&gt;SOME ID WITH KNOWN STRUCTURE&lt;\/SomeUniqueNode&gt;<\/code> and save you importing a third party library which is probably bloated and inefficiently written?<\/p>\n<h3 id=\"everywhere\">Everywhere<\/h3>\n<p>I once worked with a senior developer who, I think, had just discovered regex. And, he had become so fond of them (or something?) that all code he touched was littered with little regexes after. I mean, why keep <code>str.split('|')[0]<\/code> around when you can replace it with a regex, right.<\/p>\n<p>To top it off, all his regexes were needlessly long, most of them could be written in 1\/3 or even in 1\/2 of his \u201cstyle\u201d.<\/p>\n<p>Which is how we fluently arrive at\u2026<\/p>\n<h2 id=\"writing-vs-reading\">Writing vs Reading<\/h2>\n<p><img decoding=\"async\" src=\"https:\/\/itenium-be.github.io\/blog-posts-new\/assets\/blog-images\/regex-writing-vs-reading.png\" alt=\"Writing vs Reading RegEx\" title=\"Writing vs Reading RegEx\" \/><\/p>\n<p>It\u2019s funny because it\u2019s true. Requirements change and well, good luck deciphering your own regex.<br \/> Or heaven forbids, one someone else wrote! \ud83d\ude31<\/p>\n<h1 id=\"the-real-why\">The <strong>REAL<\/strong> Why<\/h1>\n<p>Let\u2019s be honest here\u2026<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/itenium-be.github.io\/blog-posts-new\/assets\/blog-images\/regex-xkcd-fantasy.png\" alt=\"Perl Problems\" title=\"Perl Problems (https:\/\/xkcd.com\/208\/)\" \/><\/p>\n<p><strong>Moving on<\/strong><\/p>\n<p>Did I already mention that you\u2019ll want to have tests of the code using regexes, especially if they tend to change often? Don\u2019t be shy to write them, even if they are the only ones in your repository.<\/p>\n<h1>Also in this series<\/h1>\n<ul>\n<li>Part 1: <a href=\"\/javascript\/regex-in-javascript\/\">JavaScript RegExp Tutorial<\/a><\/li>\n<li>Part 2: <a href=\"\/dotnet\/regex-in-dotnet\/\">.NET Regex Tutorial<\/a><\/li>\n<li>This Part: Regular Expressions: Introduction<\/li>\n<li>Part 4: <a href=\"\/productivity\/regex-tutorial\/\">Regular Expressions: Tutorial<\/a><\/li>\n<\/ul>\n<h1>Extras<\/h1>\n<p><b>Other interesting reads<\/b><\/p>\n<ul>\n<li><a href=\"http:\/\/www.rexegg.com\">RexEgg: Not only a cheeky name, but also a good resource<\/a><\/li>\n<li><a href=\"http:\/\/www.regular-expressions.info\">A lot of interesting info, but also a lot of text<\/a><\/li>\n<li><a href=\"https:\/\/www.cheatography.com\/davechild\/cheat-sheets\/regular-expressions\/\">Regex Cheat Sheet<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>You already know regex is a (very) useful skill? Skip to the <a href=\"https:\/\/itenium.be\/blog\/productivity\/regex-tutorial\">Tutorial<\/a>. If not, allow me to convince you\u2026<\/p>\n<p class=\"notice\">Some people, when confronted with a problem, think \u2018I know, I\u2019ll use regular expressions.\u2019 Now they have two problems. <strong>&#8211; <a href=\"http:\/\/regex.info\/blog\/2006-09-15\/247\">Jeffrey Friedl\u2019s Blog<\/a><\/strong><\/p>\n<p><strong>Or the XKCD version<\/strong>:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/itenium-be.github.io\/blog-posts-new\/assets\/blog-images\/regex-xkcd-problems.png\" alt=\"Perl Problems\" title=\"Perl Problems (https:\/\/xkcd.com\/1171)\" \/><\/p>\n","protected":false},"author":1,"featured_media":2041,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[19],"tags":[34],"class_list":["post-1511","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-productivity","tag-regex"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Regular Expressions: Introduction - Itenium<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Regular Expressions: Introduction - Itenium\" \/>\n<meta property=\"og:description\" content=\"You already know regex is a (very) useful skill? Skip to the Tutorial. If not, allow me to convince you\u2026Some people, when confronted with a problem, think \u2018I know, I\u2019ll use regular expressions.\u2019 Now they have two problems. - Jeffrey Friedl\u2019s BlogOr the XKCD version:\" \/>\n<meta property=\"og:url\" content=\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/\" \/>\n<meta property=\"og:site_name\" content=\"Itenium\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-09T20:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-28T12:31:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Usdevelop\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Usdevelop\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/\",\"name\":\"Regular Expressions: Introduction - Itenium\",\"isPartOf\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png\",\"datePublished\":\"2023-04-09T20:00:00+00:00\",\"dateModified\":\"2025-11-28T12:31:43+00:00\",\"author\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022\"},\"breadcrumb\":{\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png\",\"contentUrl\":\"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png\",\"width\":300,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/demo.sidekick.be\/itenium\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Regular Expressions: Introduction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#website\",\"url\":\"https:\/\/demo.sidekick.be\/itenium\/\",\"name\":\"Itenium\",\"description\":\"We build software. We build careers.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/demo.sidekick.be\/itenium\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022\",\"name\":\"Usdevelop\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g\",\"caption\":\"Usdevelop\"},\"sameAs\":[\"https:\/\/demo.sidekick.be\/itenium\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Regular Expressions: Introduction - Itenium","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Regular Expressions: Introduction - Itenium","og_description":"You already know regex is a (very) useful skill? Skip to the Tutorial. If not, allow me to convince you\u2026Some people, when confronted with a problem, think \u2018I know, I\u2019ll use regular expressions.\u2019 Now they have two problems. - Jeffrey Friedl\u2019s BlogOr the XKCD version:","og_url":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/","og_site_name":"Itenium","article_published_time":"2023-04-09T20:00:00+00:00","article_modified_time":"2025-11-28T12:31:43+00:00","og_image":[{"width":300,"height":300,"url":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png","type":"image\/png"}],"author":"Usdevelop","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Usdevelop","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/","url":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/","name":"Regular Expressions: Introduction - Itenium","isPartOf":{"@id":"https:\/\/demo.sidekick.be\/itenium\/#website"},"primaryImageOfPage":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage"},"image":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage"},"thumbnailUrl":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png","datePublished":"2023-04-09T20:00:00+00:00","dateModified":"2025-11-28T12:31:43+00:00","author":{"@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022"},"breadcrumb":{"@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#primaryimage","url":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png","contentUrl":"https:\/\/demo.sidekick.be\/itenium\/wp-content\/uploads\/2025\/11\/regex-how-to.png","width":300,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/demo.sidekick.be\/itenium\/blog\/productivity\/regex-introduction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/demo.sidekick.be\/itenium\/"},{"@type":"ListItem","position":2,"name":"Regular Expressions: Introduction"}]},{"@type":"WebSite","@id":"https:\/\/demo.sidekick.be\/itenium\/#website","url":"https:\/\/demo.sidekick.be\/itenium\/","name":"Itenium","description":"We build software. We build careers.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/demo.sidekick.be\/itenium\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/6ab401ce01e858184ee4a8667fe0f022","name":"Usdevelop","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/demo.sidekick.be\/itenium\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc8cf9b9e9d5bbe7e8d247907cc9ac8457bbfa2854b52eaddf6529adfe88ceab?s=96&d=mm&r=g","caption":"Usdevelop"},"sameAs":["https:\/\/demo.sidekick.be\/itenium"]}]}},"_links":{"self":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/comments?post=1511"}],"version-history":[{"count":3,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1511\/revisions"}],"predecessor-version":[{"id":2279,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/posts\/1511\/revisions\/2279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/media\/2041"}],"wp:attachment":[{"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/media?parent=1511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/categories?post=1511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demo.sidekick.be\/itenium\/wp-json\/wp\/v2\/tags?post=1511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}