{"id":17180,"date":"2017-05-23T12:15:46","date_gmt":"2017-05-23T09:15:46","guid":{"rendered":"https:\/\/www.webcodegeeks.com\/?p=17180"},"modified":"2017-05-25T12:25:41","modified_gmt":"2017-05-25T09:25:41","slug":"making-regular-expressions-simple-verbalexpressions","status":"publish","type":"post","link":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/","title":{"rendered":"Making Regular Expressions Simple With VerbalExpressions"},"content":{"rendered":"<p>Quick, someone tell me what this regular expression is doing:<\/p>\n<pre class=\"brush:perl\">(?:\\()?[0-9]{3}(?:\\))?(?: )?(?:\\.)?[0-9]{3}(?:-)?(?:\\.)?[0-9]{4}<\/pre>\n<p>It\u2019s hard isn\u2019t it? Regular expressions are not the easiest thing in the world to quickly understand. Most developers only work with regular expressions when they really, really have to.<\/p>\n<p>And even then, many will go and Google a site where you can quickly grab an expression that might be close to what they want to do. Or they will try to write an expression using a cheat sheet hoping that they understand the syntax for what they\u2019re attempting to do. And then after many many trial and errors they will have a hacked together expression in their code which they hope they\u2019ll never have to come back to.<\/p>\n<p>But what if there was another way?<\/p>\n<p>There is and it\u2019s called <a href=\"http:\/\/verbalexpressions.github.io\/\" target=\"_blank\" rel=\"noopener noreferrer\">VerbalExpressions<\/a>. VerbalExpressions is a collection of over two dozen repositories and libraries that use plain and simple language to describe a regular expression. In fact the motto they use is, \u201cRegular Expressions made easy\u201d.<\/p>\n<p>VerbalExpressions is a quick and easy way to write complex regular expressions. In this blog, I will use the VerbalExpressions <a href=\"https:\/\/github.com\/VerbalExpressions\/JSVerbalExpressions\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript implementation<\/a> as my library of choice to demonstrate this great tool to you.<\/p>\n<h2>The Demo<\/h2>\n<p>First, VerbalExpressions can be used either in the browser using a standard script tag.<\/p>\n<pre class=\"brush:js\">&lt;script src=\"VerbalExpressions.js\"&gt;&lt;\/script&gt;<\/pre>\n<p>Or, it can be used from a Content Delivery Network such as <a href=\"http:\/\/www.jsdelivr.com\/projects\/jsverbalexpressions\" target=\"_blank\" rel=\"noopener noreferrer\">jsDelivr CDN<\/a>.<\/p>\n<p>My choice was to use it on the server using Node.js and install it locally using NPM.<\/p>\n<pre class=\"brush:js\">npm install verbal-expressions<\/pre>\n<p>Using VSCode, I created a file which I will call <code>phonecheck.js<\/code>. From here I can start using VerbalExpressions to write a module which will check different types of phone numbers.<\/p>\n<pre class=\"brush:js\">var VerbalExpressions = require('verbal-expressions');\r\n\r\nvar phoneExp = VerbalExpressions() \r\n               .startOfLine()\r\n               .maybe(\"(\")\r\n               .range('0', '9')\r\n               .repeatPrevious(3)\r\n               .maybe(\")\")\r\n               .maybe(\" \")\r\n               .maybe(\".\")\r\n               .range('0', '9')\r\n               .repeatPrevious(3)\r\n               .maybe(\"-\")\r\n               .maybe(\".\")\r\n               .range('0', '9')\r\n               .repeatPrevious(4)\r\n               .endOfLine();\r\n\r\nvar phonenumber = {\r\n   standard: \"(123) 456-7890\",\r\n   invalid: \"(123) 456-789\",\r\n   withdots: '123.456.7890'\r\n}\r\n\r\n\/\/ Use RegExp object's native test() function\r\nif (phoneExp.test(phonenumber.invalid)) {\r\n   console.log('The phone number is valid.'); \/\/ This output will fire}\r\n} else {\r\n   console.log('The phone number is invalid.');\r\n}\r\nconsole.log(phoneExp._source);<\/pre>\n<p>The code is quite simple and is actually very easy to read. You first import VerbalExpressions as you would any other node module. Then we create our expression by first calling the VerbalExpressions constructor and chaining together each option that we would like to check against.<\/p>\n<p>Notice that we have a <code>startOfLine<\/code> function and an <code>endOfLine<\/code> function which is the actual container for the generated regular expression. We can then go on asking <code>maybe<\/code>, <code>range<\/code>, <code>repeat<\/code> using the library\u2019s chainable options.<\/p>\n<p>At the end of this, we now have a human-readable expression to check a 10-digit phone number for parens around the area code, dots or dashes between the number groups, and that the phone number actually does have 10 digits broken up in the correct blocks.<\/p>\n<h2>Testing Our Solution<\/h2>\n<p>So how do we test that our expression really does works. We made up an object literal that contains our three test case phone numbers. One with the standard area code with 10 digits. One that will be short one number. And one that we replace the dashes between the number groups with dots.<\/p>\n<p>Our VerbalExpressions function result has a built-in test function which we can simply pass our phone number into and which will return a boolean.<\/p>\n<p>As an added bonus, and just to demonstrate that we really are using regular expressions behind the scenes, I\u2019ve added a console log to show the actual expression used.<\/p>\n<pre class=\"brush:js\">phoneExp._source<\/pre>\n<p>Which if you run the code above, you\u2019ll notice that it\u2019s the exact same regular expression we opened up with.<\/p>\n<h2>String Replacement Interface<\/h2>\n<p>Now VerbalExpressions is really good at making regular expressions simple. But that\u2019s not all it can do. The library also has a pretty good string replacement interface which I will now show you.<\/p>\n<pre class=\"brush:js\">console.log('\/**************** STRING REPLACEMENT ********************\/');\r\nvar sentence ='We have a red house';\r\nvar result = VerbalExpressions().find('red').replace(sentence, 'blue');\r\n\r\nconsole.log('Before: ', sentence);\r\n\/\/ Outputs \"We have a blue house\"\r\nconsole.log( 'After: ', result);<\/pre>\n<p>Taking a complete sentence you can simple create another VerbalExpression function result, call its <code>Find<\/code> function and pass in the string you wish to replace. Chain on the <code>replace<\/code> function and pass in the replacement string. Calling the result of the VerbalExpression function will now give you a modified string complete with your new string in place.<\/p>\n<h2>Final Thoughts<\/h2>\n<p>To learn more on how VerbalExpressions works and what expressions can be created, you can visit its <a href=\"https:\/\/github.com\/VerbalExpressions\/JSVerbalExpressions\/wiki\" target=\"_blank\" rel=\"noopener noreferrer\">API documentation<\/a> page on GitHub.<\/p>\n<p>Regular expressions are difficult and easily error prone; most people dread writing them or modifying them.<\/p>\n<p>Using VerbalExpressions can ease that pain, and actually make writing expressions fun again. Take a look through the many language implementations offered, choose your flavor and see if you too can have fun writing VerbalExpressions.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"https:\/\/keyholesoftware.com\/2017\/05\/22\/regular-expressions-simple-verbalexpressions\/\">Making Regular Expressions Simple With VerbalExpressions<\/a> from our <a href=\"http:\/\/www.webcodegeeks.com\/join-us\/wcg\/\">WCG partner<\/a>\u00a0Chris Berry\u00a0at the <a href=\"http:\/\/keyholesoftware.com\/\">Keyhole Software<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Quick, someone tell me what this regular expression is doing: (?:\\()?[0-9]{3}(?:\\))?(?: )?(?:\\.)?[0-9]{3}(?:-)?(?:\\.)?[0-9]{4} It\u2019s hard isn\u2019t it? Regular expressions are not the easiest thing in the world to quickly understand. Most developers only work with regular expressions when they really, really have to. And even then, many will go and Google a site where you can &hellip;<\/p>\n","protected":false},"author":152,"featured_media":920,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-17180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Quick, someone tell me what this regular expression is doing: (?:()?{3}(?:))?(?: )?(?:.)?{3}(?:-)?(?:.)?{4} It\u2019s hard isn\u2019t it? Regular expressions\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Quick, someone tell me what this regular expression is doing: (?:()?{3}(?:))?(?: )?(?:.)?{3}(?:-)?(?:.)?{4} It\u2019s hard isn\u2019t it? Regular expressions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-23T09:15:46+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-05-25T09:25:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Chris Berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@webcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chris Berry\" \/>\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\":\"Article\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\"},\"author\":{\"name\":\"Chris Berry\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/ccc4ed8f5b57822a38890b90b3933432\"},\"headline\":\"Making Regular Expressions Simple With VerbalExpressions\",\"datePublished\":\"2017-05-23T09:15:46+00:00\",\"dateModified\":\"2017-05-25T09:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\"},\"wordCount\":726,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"articleSection\":[\"JavaScript\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\",\"name\":\"Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"datePublished\":\"2017-05-23T09:15:46+00:00\",\"dateModified\":\"2017-05-25T09:25:41+00:00\",\"description\":\"Quick, someone tell me what this regular expression is doing: (?:\\\\()?{3}(?:\\\\))?(?: )?(?:\\\\.)?{3}(?:-)?(?:\\\\.)?{4} It\u2019s hard isn\u2019t it? Regular expressions\",\"breadcrumb\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.webcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JavaScript\",\"item\":\"https:\/\/www.webcodegeeks.com\/category\/javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Making Regular Expressions Simple With VerbalExpressions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#website\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"name\":\"Web Code Geeks\",\"description\":\"Web Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.webcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.webcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webcodegeeks\",\"https:\/\/x.com\/webcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/ccc4ed8f5b57822a38890b90b3933432\",\"name\":\"Chris Berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/efe294b70d517ef4fded0fb5a107eff40750199a5536277a5b4ec8795346f14a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/efe294b70d517ef4fded0fb5a107eff40750199a5536277a5b4ec8795346f14a?s=96&d=mm&r=g\",\"caption\":\"Chris Berry\"},\"description\":\"Chris is a Consultant at Keyhole with a focus on .NET and JavaScript technologies. He likes to dive in and look at the architecture of an application to learn how all of the moving pieces are handled. In the end, he loves to pass along what he's learned and to help people make some good design choices for all aspects of a project.\",\"url\":\"https:\/\/www.webcodegeeks.com\/author\/chris-berry\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026","description":"Quick, someone tell me what this regular expression is doing: (?:()?{3}(?:))?(?: )?(?:.)?{3}(?:-)?(?:.)?{4} It\u2019s hard isn\u2019t it? Regular expressions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/","og_locale":"en_US","og_type":"article","og_title":"Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026","og_description":"Quick, someone tell me what this regular expression is doing: (?:()?{3}(?:))?(?: )?(?:.)?{3}(?:-)?(?:.)?{4} It\u2019s hard isn\u2019t it? Regular expressions","og_url":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/","og_site_name":"Web Code Geeks","article_publisher":"https:\/\/www.facebook.com\/webcodegeeks","article_published_time":"2017-05-23T09:15:46+00:00","article_modified_time":"2017-05-25T09:25:41+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","type":"image\/jpeg"}],"author":"Chris Berry","twitter_card":"summary_large_image","twitter_creator":"@webcodegeeks","twitter_site":"@webcodegeeks","twitter_misc":{"Written by":"Chris Berry","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#article","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/"},"author":{"name":"Chris Berry","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/ccc4ed8f5b57822a38890b90b3933432"},"headline":"Making Regular Expressions Simple With VerbalExpressions","datePublished":"2017-05-23T09:15:46+00:00","dateModified":"2017-05-25T09:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/"},"wordCount":726,"commentCount":0,"publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","articleSection":["JavaScript"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/","url":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/","name":"Making Regular Expressions Simple With VerbalExpressions - Web Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.webcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage"},"image":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage"},"thumbnailUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","datePublished":"2017-05-23T09:15:46+00:00","dateModified":"2017-05-25T09:25:41+00:00","description":"Quick, someone tell me what this regular expression is doing: (?:\\()?{3}(?:\\))?(?: )?(?:\\.)?{3}(?:-)?(?:\\.)?{4} It\u2019s hard isn\u2019t it? Regular expressions","breadcrumb":{"@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#primaryimage","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2014\/10\/js-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.webcodegeeks.com\/javascript\/making-regular-expressions-simple-verbalexpressions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.webcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"JavaScript","item":"https:\/\/www.webcodegeeks.com\/category\/javascript\/"},{"@type":"ListItem","position":3,"name":"Making Regular Expressions Simple With VerbalExpressions"}]},{"@type":"WebSite","@id":"https:\/\/www.webcodegeeks.com\/#website","url":"https:\/\/www.webcodegeeks.com\/","name":"Web Code Geeks","description":"Web Developers Resource Center","publisher":{"@id":"https:\/\/www.webcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.webcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.webcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.webcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.webcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webcodegeeks","https:\/\/x.com\/webcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/ccc4ed8f5b57822a38890b90b3933432","name":"Chris Berry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.webcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/efe294b70d517ef4fded0fb5a107eff40750199a5536277a5b4ec8795346f14a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/efe294b70d517ef4fded0fb5a107eff40750199a5536277a5b4ec8795346f14a?s=96&d=mm&r=g","caption":"Chris Berry"},"description":"Chris is a Consultant at Keyhole with a focus on .NET and JavaScript technologies. He likes to dive in and look at the architecture of an application to learn how all of the moving pieces are handled. In the end, he loves to pass along what he's learned and to help people make some good design choices for all aspects of a project.","url":"https:\/\/www.webcodegeeks.com\/author\/chris-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/17180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/users\/152"}],"replies":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/comments?post=17180"}],"version-history":[{"count":0,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/posts\/17180\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media\/920"}],"wp:attachment":[{"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/media?parent=17180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/categories?post=17180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.webcodegeeks.com\/wp-json\/wp\/v2\/tags?post=17180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}