{"id":9930,"date":"2006-02-22T07:20:05","date_gmt":"2006-02-22T04:20:05","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/"},"modified":"2006-02-22T07:20:05","modified_gmt":"2006-02-22T04:20:05","slug":"regexp-reminder","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/","title":{"rendered":"RegExp reminder"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p>I was just reminded about this small thing, which is so easy to forget &#8211; regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don&#8217;t have these markers.  The thing is that with line start\/end marker regexp engine needs to make only one match\/substution, whereas when there is no such markers, it has to repeat the match\/substitution operation at every character of the string.<\/p>\n<p>In practice, it&#8217;s unbelievable how much difference this can make.  Especially when using complex regular expressions over large data sets.<\/p>\n<p>P.S.: I understand that it is not always possible to use these markers, but I think that they can be used much more often than they are.  Everywhere.<\/p>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>I was just reminded about this small thing, which is so easy to forget &#8211; regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don&#8217;t have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution, &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">RegExp reminder<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[1,18],"tags":[246,1057,36,2290,74],"keyring_services":[],"class_list":["post-9930","post","type-post","status-publish","format-standard","hentry","category-general","category-programming","tag-optimization","tag-performance","tag-perl","tag-regular-expressions","tag-tips"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don&#039;t have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Leonid Mamchenkov\"\/>\n\t<meta name=\"google-site-verification\" content=\"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Leonid Mamchenkov - Life, universe, and everything else\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"RegExp reminder - Leonid Mamchenkov\" \/>\n\t\t<meta property=\"og:description\" content=\"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don&#039;t have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2006-02-22T04:20:05+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2006-02-22T04:20:05+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/MamchenkovBlog\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:title\" content=\"RegExp reminder - Leonid Mamchenkov\" \/>\n\t\t<meta name=\"twitter:description\" content=\"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don&#039;t have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@mamchenkov\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#blogposting\",\"name\":\"RegExp reminder - Leonid Mamchenkov\",\"headline\":\"RegExp reminder\",\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"},\"datePublished\":\"2006-02-22T07:20:05+02:00\",\"dateModified\":\"2006-02-22T07:20:05+02:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#webpage\"},\"articleSection\":\"All, Programming, optimization, performance, Perl, regular expressions, tips\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"position\":3,\"name\":\"Programming\",\"item\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#listItem\",\"name\":\"RegExp reminder\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#listItem\",\"position\":4,\"name\":\"RegExp reminder\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/category\\\/technology\\\/programming\\\/#listItem\",\"name\":\"Programming\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/\",\"name\":\"Leonid Mamchenkov\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Leonid Mamchenkov\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#webpage\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/\",\"name\":\"RegExp reminder - Leonid Mamchenkov\",\"description\":\"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\\\/or line end($) are so much faster than those regexps that don't have these markers. The thing is that with line start\\\/end marker regexp engine needs to make only one match\\\/substution,\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/2006\\\/02\\\/22\\\/regexp-reminder\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/author\\\/leonid\\\/#author\"},\"datePublished\":\"2006-02-22T07:20:05+02:00\",\"dateModified\":\"2006-02-22T07:20:05+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/\",\"name\":\"Blog of Leonid Mamchenkov\",\"description\":\"Life, universe, and everything else\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/mamchenkov.net\\\/wordpress\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"RegExp reminder - Leonid Mamchenkov","description":"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don't have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,","canonical_url":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"VHvdD0_usx1_4DzKy_QCVcICVgX2EgA2ybELT-wl7kQ","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#blogposting","name":"RegExp reminder - Leonid Mamchenkov","headline":"RegExp reminder","author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"},"datePublished":"2006-02-22T07:20:05+02:00","dateModified":"2006-02-22T07:20:05+02:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#webpage"},"isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#webpage"},"articleSection":"All, Programming, optimization, performance, Perl, regular expressions, tips"},{"@type":"BreadcrumbList","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","position":1,"name":"Home","item":"https:\/\/mamchenkov.net\/wordpress","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","position":3,"name":"Programming","item":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/","nextItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#listItem","name":"RegExp reminder"},"previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#listItem","position":4,"name":"RegExp reminder","previousItem":{"@type":"ListItem","@id":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/#listItem","name":"Programming"}}]},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/#person","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"Person","@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author","url":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/","name":"Leonid Mamchenkov","image":{"@type":"ImageObject","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/3cf6df002a284d78fb6e9d8222ca4d102e0832035ed6bc8447008bd234e131a4?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Leonid Mamchenkov"}},{"@type":"WebPage","@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#webpage","url":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/","name":"RegExp reminder - Leonid Mamchenkov","description":"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don't have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#website"},"breadcrumb":{"@id":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/#breadcrumblist"},"author":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"creator":{"@id":"https:\/\/mamchenkov.net\/wordpress\/author\/leonid\/#author"},"datePublished":"2006-02-22T07:20:05+02:00","dateModified":"2006-02-22T07:20:05+02:00"},{"@type":"WebSite","@id":"https:\/\/mamchenkov.net\/wordpress\/#website","url":"https:\/\/mamchenkov.net\/wordpress\/","name":"Blog of Leonid Mamchenkov","description":"Life, universe, and everything else","inLanguage":"en-US","publisher":{"@id":"https:\/\/mamchenkov.net\/wordpress\/#person"}}]},"og:locale":"en_US","og:site_name":"Leonid Mamchenkov - Life, universe, and everything else","og:type":"article","og:title":"RegExp reminder - Leonid Mamchenkov","og:description":"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don't have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,","og:url":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/","og:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:secure_url":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg","og:image:width":1024,"og:image:height":1024,"article:published_time":"2006-02-22T04:20:05+00:00","article:modified_time":"2006-02-22T04:20:05+00:00","article:publisher":"https:\/\/www.facebook.com\/MamchenkovBlog","twitter:card":"summary_large_image","twitter:site":"@mamchenkov","twitter:title":"RegExp reminder - Leonid Mamchenkov","twitter:description":"I was just reminded about this small thing, which is so easy to forget - regular expressions that have markers of line start (^) and\/or line end($) are so much faster than those regexps that don't have these markers. The thing is that with line start\/end marker regexp engine needs to make only one match\/substution,","twitter:creator":"@mamchenkov","twitter:image":"https:\/\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2026\/03\/leonid-sailing-beer.jpg"},"aioseo_meta_data":{"post_id":"9930","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"BlogPosting","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-07-19 15:06:38","updated":"2026-01-15 01:34:54","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/\" title=\"Programming\">Programming<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tRegExp reminder\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/mamchenkov.net\/wordpress"},{"label":"Technology","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/"},{"label":"Programming","link":"https:\/\/mamchenkov.net\/wordpress\/category\/technology\/programming\/"},{"label":"RegExp reminder","link":"https:\/\/mamchenkov.net\/wordpress\/2006\/02\/22\/regexp-reminder\/"}],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":18912,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/12\/04\/yesterdays-regexp\/","url_meta":{"origin":9930,"position":0},"title":"Yesterday&#8217;s regexp","author":"Leonid Mamchenkov","date":"December 4, 2013","format":"image","excerpt":"From the Geek & Poke of course.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2013\/12\/yesterdays-regex.jpg?fit=500%2C708&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":23988,"url":"https:\/\/mamchenkov.net\/wordpress\/2015\/04\/24\/mailrfc822address-regexp-based-address-validation\/","url_meta":{"origin":9930,"position":1},"title":"Mail::RFC822::Address: regexp-based address validation","author":"Leonid Mamchenkov","date":"April 24, 2015","format":"link","excerpt":"This is pure gold! \u00a0Check out the regular expression for an RFC822 email address validation. I'm not going to paste it here, being concerned that it will open the gates of hell or something, but here is a sneak preview of about the first third or so.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"regex","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2015\/04\/regex-500x298.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":9613,"url":"https:\/\/mamchenkov.net\/wordpress\/2005\/10\/26\/missing-some-regexp-knowledge\/","url_meta":{"origin":9930,"position":2},"title":"Missing some regexp knowledge","author":"Leonid Mamchenkov","date":"October 26, 2005","format":false,"excerpt":"Once in a while I come across some topic that I should have learned a billion years ago. Something very basic and useful that I had a chance of seeing many times but haven't, or probably had and ignored it. Today I found out that I was missing an important\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":7705,"url":"https:\/\/mamchenkov.net\/wordpress\/2004\/07\/22\/regular-expressions\/","url_meta":{"origin":9930,"position":3},"title":"Regular expressions","author":"Leonid Mamchenkov","date":"July 22, 2004","format":false,"excerpt":"Regular-Expressions.Info is a very good resource on ... eh, well ... regular expressions. There is a nicely done tutorial, lots of examples, a reference page, and page with a list of tools and libraries that support regular expressions.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11300,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/06\/14\/whiteboard-wins\/","url_meta":{"origin":9930,"position":4},"title":"Whiteboard wins","author":"Leonid Mamchenkov","date":"June 14, 2008","format":false,"excerpt":"The other day we ordered a large whiteboard for our office.\u00a0 The board arrived some time later, complete with a bunch of whiteboard markers and whiteboard eraser.\u00a0 Gladly we put it up and started writing our plan for the world domination. A few moments later, when we tried to do\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27707,"url":"https:\/\/mamchenkov.net\/wordpress\/2017\/06\/20\/regex101-online-regex-editor-and-debugger\/","url_meta":{"origin":9930,"position":5},"title":"Regex101 &#8211; online regex editor and debugger","author":"Leonid Mamchenkov","date":"June 20, 2017","format":false,"excerpt":"Regex101 is an online regular expression editor and debugger. \u00a0You can test your regular expressions against sample data, see if the expression worked, watch it matched, and so on. \u00a0Having an explanation for each part of the regular expression dynamically generated, and a quick reference nearby is super handy too.\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mamchenkov.net\/wordpress\/wp-content\/uploads\/2017\/06\/regex101-500x250.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/9930","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=9930"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/9930\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=9930"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=9930"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=9930"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=9930"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}