{"id":7791,"date":"2020-02-14T22:45:38","date_gmt":"2020-02-14T22:45:38","guid":{"rendered":"https:\/\/holypython.com\/?page_id=7791"},"modified":"2021-03-28T01:32:06","modified_gmt":"2021-03-28T01:32:06","slug":"lesson-6-regular-expressions","status":"publish","type":"page","link":"https:\/\/holypython.com\/advanced-python-lessons\/lesson-6-regular-expressions\/","title":{"rendered":"Lesson 6: Regular Expressions"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7791\" class=\"elementor elementor-7791\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-79238a84 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"79238a84\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-367a870d\" data-id=\"367a870d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-39c66477 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"39c66477\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-7a38cf49\" data-id=\"7a38cf49\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-519b82a elementor-widget elementor-widget-menu-anchor\" data-id=\"519b82a\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"intro\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5256f21 elementor-widget elementor-widget-heading\" data-id=\"5256f21\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Python Regex Lesson<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d5eaa1 elementor-widget elementor-widget-image\" data-id=\"9d5eaa1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/holypython.com\/wp-content\/uploads\/2020\/09\/9SoCnyQmkzI-Custom.jpg\" class=\"attachment-full size-full wp-image-14492\" alt=\"\" srcset=\"https:\/\/holypython.com\/wp-content\/uploads\/2020\/09\/9SoCnyQmkzI-Custom.jpg 1200w, https:\/\/holypython.com\/wp-content\/uploads\/2020\/09\/9SoCnyQmkzI-Custom-300x200.jpg 300w, https:\/\/holypython.com\/wp-content\/uploads\/2020\/09\/9SoCnyQmkzI-Custom-1024x683.jpg 1024w, https:\/\/holypython.com\/wp-content\/uploads\/2020\/09\/9SoCnyQmkzI-Custom-768x512.jpg 768w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-040bfdd elementor-widget elementor-widget-text-editor\" data-id=\"040bfdd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Often note recognized as a Turing complete programming language, Regex or Regular Expressions still radiate a sense of &#8220;mini programming language&#8221; with its own weird (but incredibly useful!) syntax that&#8217;s used to parse, analyze and manipulate textual content.<\/p><p>Regex can be used with many different programming languages including Python and it&#8217;s a very desirable skill to have for pretty much anyone who is into coding or professional programming career.<\/p><p>In this Python lesson we will learn how to use regex for text processing through examples.<\/p><p>We will also categorize regex methods and expressions so this page can serve as a guide or reference in future in case you struggle to recall specific regex expressions. (A very common thing.)<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-be3b477\" data-id=\"be3b477\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ff5c310 elementor-position-left elementor-view-default elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"ff5c310\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-clock\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tEstimated Time\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t20 mins\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aa53252 elementor-widget elementor-widget-raven-divider\" data-id=\"aa53252\" data-element_type=\"widget\" data-widget_type=\"raven-divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\r\n\t\t\t<div class=\"raven-divider\">\r\n\t\t\t\t<span class=\"raven-divider-line raven-divider-solid\"><\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ba5f751 elementor-position-left elementor-view-default elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"ba5f751\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-thumbs-up\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tSkill Level\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tUpper intermediate\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-abfd1f1 elementor-widget elementor-widget-raven-divider\" data-id=\"abfd1f1\" data-element_type=\"widget\" data-widget_type=\"raven-divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\r\n\t\t\t<div class=\"raven-divider\">\r\n\t\t\t\t<span class=\"raven-divider-line raven-divider-solid\"><\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f3aa71a elementor-position-left elementor-view-default elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"f3aa71a\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/holypython.com\/advanced-python-exercises\/project-regular-expressions-regex\/\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Exercises\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"far fa-bookmark\"><\/i>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/holypython.com\/advanced-python-exercises\/project-regular-expressions-regex\/\" >\n\t\t\t\t\t\t\tExercises\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t9\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ae65b1e elementor-widget elementor-widget-raven-divider\" data-id=\"ae65b1e\" data-element_type=\"widget\" data-widget_type=\"raven-divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\r\n\t\t\t<div class=\"raven-divider\">\r\n\t\t\t\t<span class=\"raven-divider-line raven-divider-solid\"><\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd594d0 elementor-position-left elementor-view-default elementor-mobile-position-top elementor-vertical-align-top elementor-widget elementor-widget-icon-box\" data-id=\"dd594d0\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-book\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h4 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tFunctions\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h4>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tfindall, searchall\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed4e2d3 elementor-widget elementor-widget-raven-divider\" data-id=\"ed4e2d3\" data-element_type=\"widget\" data-widget_type=\"raven-divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"raven-widget-wrapper\">\r\n\t\t\t<div class=\"raven-divider\">\r\n\t\t\t\t<span class=\"raven-divider-line raven-divider-solid\"><\/span>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5062b5e3 elementor-widget elementor-widget-heading\" data-id=\"5062b5e3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Course Provider<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f40bb5 elementor-widget elementor-widget-text-editor\" data-id=\"f40bb5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Provided by HolyPython.com<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6250dd0 elementor-widget elementor-widget-image\" data-id=\"6250dd0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"398\" height=\"344\" src=\"https:\/\/holypython.com\/wp-content\/uploads\/2020\/10\/holypython_side_logo_img.jpg\" class=\"attachment-full size-full wp-image-15177\" alt=\"\" srcset=\"https:\/\/holypython.com\/wp-content\/uploads\/2020\/10\/holypython_side_logo_img.jpg 398w, https:\/\/holypython.com\/wp-content\/uploads\/2020\/10\/holypython_side_logo_img-300x259.jpg 300w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-c6ca3a5 elementor-widget elementor-widget-menu-anchor\" data-id=\"c6ca3a5\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"atoz\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d73c2bb elementor-widget elementor-widget-heading\" data-id=\"d73c2bb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Used Where?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b264032 elementor-widget elementor-widget-text-editor\" data-id=\"b264032\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>Text searching<\/li><li>Research<\/li><li>Data Science<\/li><li>Database search and manipulation<\/li><li>Web requests, web crawling<\/li><li>API access<\/li><li>All kinds of other queries<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-584e50e elementor-widget elementor-widget-heading\" data-id=\"584e50e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Starting with regex \"syntax\"<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e830233 elementor-widget elementor-widget-text-editor\" data-id=\"e830233\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For instance let&#8217;s say you got a fat text with tons of weird characters in it and you want to clean it fast. No problem:<\/p><p>By using this little structure below, you can tell your computer to only match letters from <b>a to z.<\/b><\/p><p><code>[a-z]<\/code><\/p><p>What if you also need capital letters as you normally would? Simple:<\/p><p>Just type:<\/p><p><code>[a-z][A-Z]<\/code><\/p><p>As you can see Regex is very straight forward almost like a magical elixir in which you throw in the components you need. Only if it was more memorable&#8230; But, once you master Regex which doesn&#8217;t take too long, you can always quickly refresh your memory and continue where you left off.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fb82a9 elementor-widget elementor-widget-menu-anchor\" data-id=\"1fb82a9\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"0to9\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99c9e14 elementor-widget elementor-widget-text-editor\" data-id=\"99c9e14\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>What if you want to filter out only the numbers from 0 to 9 with Regex?<\/p><p>By using the structure below, you can tell your computer to only catch letters from <b>0\u00a0to 9.<\/b><\/p><p><code>[0-9]<\/code><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-12d8f89 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"12d8f89\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-c15bbca\" data-id=\"c15bbca\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-07672ee elementor-widget elementor-widget-heading\" data-id=\"07672ee\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example: First regex implementation in Python<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a9c11d elementor-widget elementor-widget-text-editor\" data-id=\"5a9c11d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This simple example demonstrates the usage of Regex in Python:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c5b7f75 elementor-widget elementor-widget-html\" data-id=\"c5b7f75\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"[A-Z]\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36d6b93 elementor-widget elementor-widget-text-editor\" data-id=\"36d6b93\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;B&#8217;, &#8216;E&#8217;, &#8216;F&#8217;, &#8216;F&#8217;, &#8216;J&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88c1228 elementor-widget elementor-widget-text-editor\" data-id=\"88c1228\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>One letter results are often not so helpful so we will need a repetition method somehow. In regex this is handled by three different ways.<\/p><ul><li>+ : Add this for one or more repetition<\/li><li>* : Add this for zero or more repetition<\/li><li>{m} : Add this for specific amount (m) of repetition<\/li><li>{m,n} : Add this for specific range (m to n) of repetitions<\/li><\/ul><p>We will elaborate these methods below with more examples but here is a simple example:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-54eb6cf elementor-widget elementor-widget-html\" data-id=\"54eb6cf\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"[A-Z][a-z]{2}\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad30fdb elementor-widget elementor-widget-text-editor\" data-id=\"ad30fdb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>[&#8216;Bes&#8217;, &#8216;Eve&#8217;, &#8216;Fre&#8217;, &#8216;Fil&#8217;, &#8216;Jan&#8217;]<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cce0694 elementor-widget elementor-widget-text-editor\" data-id=\"cce0694\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>By the way one thing I find very useful when implementing regex solutions is to start with simple tasks and build the regex incrementally. Since regex has a very compact syntax it can get messy if you try to program everything in one big step.<\/p><p>So this can depend on personal taste but I find it very useful to add one function first, quickly test it and then continue with the next step of my implementation.<\/p><p>Also as usual, if you practice regex a lot for a while and do some meaningful projects, you will confidently recall it even if you come back to it after a long time but it takes a little while so don&#8217;t be discouraged.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-d1012f9 elementor-widget elementor-widget-menu-anchor\" data-id=\"d1012f9\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"abcde\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a09b82 elementor-widget elementor-widget-text-editor\" data-id=\"3a09b82\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>If you just type a regex expression as below you will only get the characters inside the brackets<b>:<\/b><\/p><p><code>[abcde]0<\/code><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c168fe5 elementor-widget elementor-widget-menu-anchor\" data-id=\"c168fe5\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"expabcde\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9900fd8 elementor-widget elementor-widget-text-editor\" data-id=\"9900fd8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Or, do you <b>not <\/b>want the characters abcde, just include <b>^<\/b> in the beginning<b>:<\/b><\/p><p><code>[^abcde]<\/code><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-044c59b elementor-widget elementor-widget-menu-anchor\" data-id=\"044c59b\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"space\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-9dc3d75 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9dc3d75\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-69831f6\" data-id=\"69831f6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e5e5fa0 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"e5e5fa0\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3006dc3\" data-id=\"3006dc3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6a72979d elementor-widget elementor-widget-heading\" data-id=\"6a72979d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>\\s<\/code> : Whitespace<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-daf0679 elementor-widget elementor-widget-text-editor\" data-id=\"daf0679\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>\\s<\/code>\u00a0:will show whitespace.<br \/><code>\\S<\/code> : Non-Whitespace. If you&#8217;d like to rather show non-whitespace.<\/p><p><b>Tip<\/b>: How to remember \\s ? Simply, it stands for &#8220;<b>space<\/b>&#8220;. Although whitespace is a bit more explanatory.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33ceb2e elementor-widget elementor-widget-menu-anchor\" data-id=\"33ceb2e\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"digit\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-6f36d35 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6f36d35\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ab0ca30\" data-id=\"ab0ca30\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c4d95c0 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"c4d95c0\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-771e303\" data-id=\"771e303\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5d63883 elementor-widget elementor-widget-heading\" data-id=\"5d63883\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>\\d<\/code> : Digits<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb43e73 elementor-widget elementor-widget-text-editor\" data-id=\"cb43e73\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>\\d<\/code>\u00a0:will filter digits.<br \/><code>\\D<\/code>\u00a0:If you&#8217;d like to rather filter non-digits then just use capital letter:<\/p><p><b>Tip<\/b>: How to remember \\d ? This one is easy. d stands for &#8220;<b>digit<\/b>&#8220;.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-454e2dd elementor-widget elementor-widget-menu-anchor\" data-id=\"454e2dd\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"alpha\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-6ed7bc7 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6ed7bc7\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-df62f6b\" data-id=\"df62f6b\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4e6ef5f elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"4e6ef5f\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-61f25be\" data-id=\"61f25be\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8cdd774 elementor-widget elementor-widget-heading\" data-id=\"8cdd774\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>\\w<\/code> : Alphanumeric<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d45671 elementor-widget elementor-widget-text-editor\" data-id=\"3d45671\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>\\w<\/code>\u00a0:will show word-class (This means alphanumerical characters.).<br \/><code>\\W<\/code>\u00a0:If you&#8217;d like to rather show non-word then just use capital letter:<\/p><p>\u00a0<\/p><p><b>Tip<\/b>: How to remember \\w ? w stands for &#8220;<b>word-class<\/b>&#8220;. Word-class character is the same thing as alphanumeric. It includes all the letters [a-z][A-Z], all the digits [0-9] and usually underscore: &#8220;_&#8221; is included as well.<\/p><p>If you tried to rename a file recently, you may recognize that only alphanumeric characters are allowed while naming a file in the computer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d5fd25 elementor-widget elementor-widget-menu-anchor\" data-id=\"6d5fd25\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"anychar\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-61509df elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"61509df\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-0a7baea\" data-id=\"0a7baea\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a1818d9 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"a1818d9\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-9bca746\" data-id=\"9bca746\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-296c1e2 elementor-widget elementor-widget-heading\" data-id=\"296c1e2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>.<\/code> : Any Character<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-f4dbb13 elementor-widget elementor-widget-text-editor\" data-id=\"f4dbb13\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>.<\/code>\u00a0: dot will capture any character there is.<\/p><p><u>Regex Tip<\/u>: By adding repetition characters to dot you can capture everything in a text.<\/p><div><u><span style=\"font-weight: bold;\">Mini example:<\/span><\/u><\/div><p>&#8220;Turing10 40 &#8211; $%^ Curcuit &#8212;&#8220;<\/p><p>If you apply\u00a0<code style=\"font-size: 16.2px; background-color: #ffffff;\">.*<\/code>\u00a0to the text above you&#8217;ll just get everything back:<br \/><mark>[&#8220;Turing10 40 &#8211; $%^ Curcuit &#8212;&#8220;]<\/mark><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e586ba elementor-widget elementor-widget-menu-anchor\" data-id=\"1e586ba\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"zeroormore\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-34dd6fd elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"34dd6fd\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-59b0092\" data-id=\"59b0092\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d741a97 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"d741a97\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-9d95ae2\" data-id=\"9d95ae2\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-51e8603 elementor-widget elementor-widget-heading\" data-id=\"51e8603\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>*<\/code> : Zero or more<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-a51f806 elementor-widget elementor-widget-text-editor\" data-id=\"a51f806\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>*<\/code>&nbsp;: Adding this character to your regular expression will cause it to match 0 or more times until your expression is not matched any more.<\/p>\n<div>&nbsp;<\/div>\n<div><u><b>Mini example:<\/b><\/u><\/div>\n<p>&#8220;TuringMachine1940Transistors645&#8221;<\/p>\n<p>If you apply <code style=\"font-size: 16.2px; background-color: #ffffff;\">\\D+<\/code>&nbsp;to the text above you&#8217;ll get:<br><mark>[[&#8216;TuringMachine&#8217;, &#8221;, &#8221;, &#8221;, &#8221;, &#8216;Transistors&#8217;, &#8221;, &#8221;, &#8221;, &#8221;]]<\/mark><\/p>\n<p>Non-digits are matched zero or more times until regular expression doesn&#8217;t match and so on. As you can see even the characters that don&#8217;t match are represented as an empty string since we used * (zero or more times).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a1f004e elementor-widget elementor-widget-menu-anchor\" data-id=\"a1f004e\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"oneormore\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-504bae8 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"504bae8\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-90972db\" data-id=\"90972db\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f141a66 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"f141a66\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-8ad81bd\" data-id=\"8ad81bd\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-662a703 elementor-widget elementor-widget-heading\" data-id=\"662a703\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>+<\/code> : One or more<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-484fcb9 elementor-widget elementor-widget-text-editor\" data-id=\"484fcb9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>+<\/code>\u00a0: Adding this character to your regular expression will cause it to match 1 or more times until your expression is not matched any more.<\/p><div>\u00a0<\/div><div><u><b>Mini regex example:<\/b><\/u><\/div><p>&#8220;TuringMachine1940Transistors645&#8221;<\/p><p>If you apply <code style=\"font-size: 16.2px; background-color: #ffffff;\">\\D+<\/code>\u00a0to the text above you&#8217;ll get:<br \/><mark>[&#8216;TuringMachine&#8217;, &#8216;Transistors&#8217;]<\/mark><\/p><p>Non-digits are matched <u>one or more times<\/u> until regular expression doesn&#8217;t match and so on.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-22481de elementor-widget elementor-widget-menu-anchor\" data-id=\"22481de\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"zeroorone\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-ff56813 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ff56813\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-c4b13b9\" data-id=\"c4b13b9\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71c8729 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"71c8729\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-d03178c\" data-id=\"d03178c\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e1a8ae8 elementor-widget elementor-widget-heading\" data-id=\"e1a8ae8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>?<\/code> : Zero or One<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-c60c805 elementor-widget elementor-widget-text-editor\" data-id=\"c60c805\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>?<\/code>\u00a0: Adding this character to your regular expression will cause it to match 0 or 1 times until your expression is not matched any more.<\/p><div>\u00a0<\/div><div><u><b>Mini regex example:<\/b><\/u><\/div><p>&#8220;TuringMachine1940Transistors645&#8221;<\/p><p>If you apply <code style=\"font-size: 16.2px; background-color: #ffffff;\">\\D?<\/code>\u00a0to the text above you&#8217;ll get:<br \/><mark>[&#8216;T&#8217;, &#8216;u&#8217;, &#8216;r&#8217;, &#8216;i&#8217;, &#8216;n&#8217;, &#8216;g&#8217;, &#8216;M&#8217;, &#8216;a&#8217;, &#8216;c&#8217;, &#8216;h&#8217;, &#8216;i&#8217;, &#8216;n&#8217;, &#8216;e&#8217;, &#8221;, &#8221;, &#8221;, &#8221;, &#8216;T&#8217;, &#8216;r&#8217;, &#8216;a&#8217;, &#8216;n&#8217;, &#8216;s&#8217;, &#8216;i&#8217;, &#8216;s&#8217;, &#8216;t&#8217;, &#8216;o&#8217;, &#8216;r&#8217;, &#8216;s&#8217;, &#8221;, &#8221;, &#8221;, &#8221;]<\/mark><\/p><p>Non-digits are matched <u>zero or one times<\/u> until regular expression doesn&#8217;t match and so on.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c638120 elementor-widget elementor-widget-menu-anchor\" data-id=\"c638120\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"repe\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-ac861f6 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ac861f6\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-caf064e\" data-id=\"caf064e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-864c45c elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"864c45c\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6cd6364\" data-id=\"6cd6364\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-197149e elementor-widget elementor-widget-heading\" data-id=\"197149e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>{}<\/code> : Repetition<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3e7817 elementor-widget elementor-widget-text-editor\" data-id=\"e3e7817\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><code>{3}<\/code>\u00a0: Adding this expression to your regular expression will cause it to repeat the regular expression before it 3 times.<\/p><p><code style=\"font-size: 16.2px; background-color: #ffffff;\">{6,}<\/code>\u00a0: This will apply a repetition of 6 or more. For instance, it could be used to catch words with a length of 6 characters or more.\u00a0<\/p><p><code style=\"font-size: 16.2px; background-color: #ffffff;\">{6,9}<\/code>\u00a0: This will apply a repetition of 6 to 9. For instance, it could be used to catch words with a length of 6 characters up to 9 characters (inclusive).<\/p><div><u><b>Mini regex example:<\/b><\/u><\/div><p>&#8220;TuringMachine1940Transistors645&#8221;<\/p><p>If you apply <code style=\"font-size: 16.2px; background-color: #ffffff;\">\\d{3,4}<\/code>\u00a0to the text above you&#8217;ll get:<br \/><mark>[&#8216;1940&#8217;, &#8216;645&#8217;]<\/mark><\/p><p>Digits matching 3 or 4 times are caught.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1f27abb elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"1f27abb\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-78756ae elementor-widget elementor-widget-menu-anchor\" data-id=\"78756ae\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"examples\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1598262 elementor-widget elementor-widget-heading\" data-id=\"1598262\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">More Regular Expression Examples<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd21b49 elementor-widget elementor-widget-text-editor\" data-id=\"fd21b49\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Here are some more regex examples that can help you understand different implementations of regex. We are using very small textual data in these examples but once your regex is solid you can apply it to much bigger datasets such as millions of lines.<\/p><p>Text analysis, text processing and sentimental analysis can be very fruitful domains and they are utilized in a broad range of domains from Artificial Analysis to Anthropology to Business Analysis to Financial Analysis to Web Services and even Legal Technology.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e8880f8 elementor-widget__width-initial elementor-fixed elementor-hidden-tablet elementor-hidden-phone elementor-widget elementor-widget-accordion\" data-id=\"e8880f8\" data-element_type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;fixed&quot;}\" data-widget_type=\"accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-accordion\">\n\t\t\t\t\t\t\t<div class=\"elementor-accordion-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-2431\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-2431\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon elementor-accordion-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-closed\"><i class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-accordion-icon-opened\"><i class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-accordion-title\" tabindex=\"0\">Content<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-2431\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-2431\"><p><a href=\"#intro\">INTRO<\/a><\/p><p><b>Ranges:<\/b><br \/><a href=\"#atoz\">[a-z]<\/a> \u00a0<a href=\"#0to9\">[0-9]<\/a> \u00a0<a href=\"#abcde\">[abcde]<\/a> \u00a0<a href=\"#expabcde\">[^abcde]<\/a><a style=\"outline-width: 0px !important; user-select: auto !important;\" href=\"#^abcde\"><br \/><\/a>abcde \u00a0 \u00a012345<\/p><p><b>Short labels:<\/b><br \/><a href=\"#space\">\\s<\/a>\u00a0 \u00a0 Whitespace<br \/><a href=\"#digit\">\\d<\/a>\u00a0 \u00a0 Digits<br \/><a href=\"#alpha\">\\w<\/a>\u00a0 \u00a0 Alphanumeric<br \/><a href=\"#anychar\">.<\/a>\u00a0 \u00a0 \u00a0 Any Character<\/p><p><b>Repetitions:<\/b><br \/><a href=\"#zeroormore\">*<\/a>\u00a0 \u00a0 \u00a0Zero or more repetitions<br \/><a href=\"#oneormore\">+<\/a>\u00a0 \u00a0 \u00a0One or more repetitions<br \/><a href=\"#zeroorone\">?<\/a>\u00a0 \u00a0 \u00a0 Optional character<br \/><a href=\"#repe\">{m}<\/a>\u00a0 &amp;\u00a0 <a href=\"#repe\">{m,n}<\/a>\u00a0 Repetitions<\/p><p><a href=\"#examples\">REGEX EXAMPLES<\/a><\/p><p><b>Escape characters:<\/b><br \/><a href=\"#escape\">\\.<\/a> Period\u00a0 <a href=\"#escape\">\\+<\/a> Plus\u00a0 <a href=\"#escape\">\\*<\/a> Star etc.<\/p><p><b>Advanced Concepts:<br \/><\/b><a href=\"#adv\">^<\/a>\u00a0 \u00a0 :\u00a0 Starts with\u00a0 \u00a0<a href=\"#adv\">$<\/a>\u00a0 :\u00a0 Ends with<br \/><a href=\"#adv\">(..)<\/a> : Group<br \/><a href=\"#adv\">(x|y)<\/a> x or y<br \/><a href=\"#moreex\">MORE REGEX EXAMPLES<\/a><\/p><p><a href=\"#exer\">REGEX EXERCISES<\/a><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f1513c3 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"f1513c3\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3369614 elementor-widget elementor-widget-heading\" data-id=\"3369614\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 1: Regex for digits only<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d1c889 elementor-widget elementor-widget-html\" data-id=\"6d1c889\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"\\d\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5c8ee8a elementor-widget elementor-widget-text-editor\" data-id=\"5c8ee8a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;5&#8217;, &#8216;0&#8217;, &#8216;1&#8217;, &#8216;0&#8217;, &#8216;2&#8217;, &#8216;0&#8217;, &#8216;2&#8217;, &#8216;0&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e613db0 elementor-widget elementor-widget-text-editor\" data-id=\"e613db0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhat if you want the full number as you usually would? Simple, just modify your regex as below:\n<code>+<\/code> will make sure &#8220;1 or more digits are all included&#8221; until the next non-digit character is encountered and will skip those and so on.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3bb8501 elementor-widget elementor-widget-html\" data-id=\"3bb8501\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<code>\"\\d+\"<\/code>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e5d1fb elementor-widget elementor-widget-text-editor\" data-id=\"0e5d1fb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>[&#8217;50&#8217;, &#8217;10&#8217;, &#8216;2020&#8217;]<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-211bb38 elementor-widget elementor-widget-text-editor\" data-id=\"211bb38\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Wondering what would happen if you used <code>*<\/code> instead of <code>+<\/code> ? It will include all encounters (&#8220;zero or more&#8221;) but only print the ones matching the regex (digits: &#8220;\\d&#8221;).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9fd3ee7 elementor-widget elementor-widget-html\" data-id=\"9fd3ee7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<code>\"\\d+\"<\/code>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f177843 elementor-widget elementor-widget-text-editor\" data-id=\"f177843\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>[&#8217;50&#8217;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8221;, &#8217;10&#8217;, &#8221;, &#8216;2020&#8217;, &#8221;]<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82c79f1 elementor-widget elementor-widget-heading\" data-id=\"82c79f1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 2: Regex with no digits<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5398ed6 elementor-widget elementor-widget-text-editor\" data-id=\"5398ed6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Let&#8217;s try to get the words (only with letters) in the text by trying different approaches.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3b1eda7 elementor-widget elementor-widget-text-editor\" data-id=\"3b1eda7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>An attempt with non-digits regex to demonstrate its use:<\/p><p>\u00a0Using\u00a0<code>\\D<\/code> will give you everything except digits.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4d26a28 elementor-widget elementor-widget-html\" data-id=\"4d26a28\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"\\D\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ecd85cd elementor-widget elementor-widget-text-editor\" data-id=\"ecd85cd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216; Best Ever French Films &#8211; Jan &#8216;, &#8216; &#8216;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63892aa elementor-widget elementor-widget-text-editor\" data-id=\"63892aa\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>And you can achive similar, but not the same, results with <code>\"[A-Z][a-z]+\"<\/code>\u00a0 which will print everything in those letter ranges. Take a look:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f355300 elementor-widget elementor-widget-html\" data-id=\"f355300\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"[A-Z][a-z]+\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c544ff elementor-widget elementor-widget-text-editor\" data-id=\"1c544ff\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;Best&#8217;, &#8216;Ever&#8217;, &#8216;French&#8217;, &#8216;Films&#8217;, &#8216;Jan&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f5f11f elementor-widget elementor-widget-text-editor\" data-id=\"0f5f11f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tSo you can see that <code>\"\\D\"<\/code> gives all the non-digits including special characters but <code>\"[A-Z][a-z]+\"<\/code> only gives the letters (upper and lower case).\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2e2960b elementor-widget elementor-widget-heading\" data-id=\"2e2960b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 3: Regex for letters only (lower and upper case)<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36f24b3 elementor-widget elementor-widget-text-editor\" data-id=\"36f24b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>And letter ranges:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6e4c662 elementor-widget elementor-widget-html\" data-id=\"6e4c662\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"50 Best Ever French Films - Jan 10 2020\"\r\ndata = re.findall(\"[A-Z][a-z]+\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d3765e elementor-widget elementor-widget-text-editor\" data-id=\"9d3765e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;Best&#8217;, &#8216;Ever&#8217;, &#8216;French&#8217;, &#8216;Films&#8217;, &#8216;Jan&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-603b627 elementor-widget elementor-widget-text-editor\" data-id=\"603b627\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Or do you <b>not <\/b>want the characters abcde, just include <b>^<\/b> in the beginning:<\/p><p><code>.<\/code>\u00a0:will filter whitespace.<br \/><code>*<\/code>\u00a0:If you&#8217;d like to rather filter non-W<br \/><code>+<\/code> :If you&#8217;d like to rather filter non-W<br \/><code>?<\/code> :If you&#8217;d like to rather filter non-W<\/p><p><u>Tip<\/u>: How to remember \\w ? w actually stands for &#8220;<b>word-class<\/b>&#8220;. Word-class character is the same thing as alphanumeric. And it includes all the letters [a-z][A-Z], all the digits [0-9] and usually underscore: &#8220;_&#8221; is included as well.<\/p><p>If you tried to rename a file recently, you may recognize that only alphanumeric characters are allowed while naming a file in the computer.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8a61c03 elementor-widget elementor-widget-menu-anchor\" data-id=\"8a61c03\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"escape\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-353af4c elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"353af4c\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-068d404\" data-id=\"068d404\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b2eb387 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"b2eb387\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-bf303e1\" data-id=\"bf303e1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-74467cf elementor-widget elementor-widget-heading\" data-id=\"74467cf\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>\\<\/code>   :  Escape Character w\/ backslash<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ae1187 elementor-widget elementor-widget-text-editor\" data-id=\"8ae1187\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Since some of the characters are reserved for special meanings in regular expressions (such as *, +, ?, $ etc.), if you&#8217;d like to match those characters as they are in a text you need to use backslash (escape character)<b>:<\/b><\/p><p><code>\\?<\/code>\u00a0:will match question mark<br \/><code>\\+<\/code>\u00a0:will match plus sign<br \/><code>\\*<\/code>\u00a0:will match star sign<br \/><code style=\"font-size: 16.2px; background-color: #ffffff;\">\\.<\/code>\u00a0:will match dot character<br \/><code style=\"font-size: 16.2px; background-color: #ffffff;\">\\$<\/code>\u00a0:will match dollar sign<\/p><p>and so on&#8230;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43d52b7 elementor-widget elementor-widget-menu-anchor\" data-id=\"43d52b7\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"adv\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-2c19ff7 elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2c19ff7\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-502afea\" data-id=\"502afea\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-273966b elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"273966b\" data-element_type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<i aria-hidden=\"true\" class=\"fas fa-code\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b81dd79\" data-id=\"b81dd79\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-91ab4c1 elementor-widget elementor-widget-heading\" data-id=\"91ab4c1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><code>\\<\/code>   :  Advanced Concepts<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-abfa737 elementor-widget elementor-widget-text-editor\" data-id=\"abfa737\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Since some of the characters are reserved for special meanings in regular expressions (such as *, +, ?, $ etc.), if you&#8217;d like to match those characters as they are in a text you need to use backslash (escape character)<b>:<\/b><\/p><p><code>^<\/code>\u00a0: Starts with<br \/><code>$<\/code>\u00a0: Ends with<br \/><code>()<\/code>\u00a0: Grouping<br \/><code style=\"font-size: 16.2px; background-color: #ffffff;\">(x|y)<\/code>\u00a0: x or yand so on&#8230;<\/p><p>\u00a0<\/p><p><u>Tip<\/u>: If you use <b>^<\/b> inside brackets, it will mean <b>except <\/b>or <b>not <\/b>rather than <b>starts with. <\/b>I.e.: [^ABC] means except ABC characters.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67a6963 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"67a6963\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff5809c elementor-widget elementor-widget-menu-anchor\" data-id=\"ff5809c\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"moreex\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f31631e elementor-widget elementor-widget-heading\" data-id=\"f31631e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 4: Regex with or logical operator<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db27974 elementor-widget elementor-widget-text-editor\" data-id=\"db27974\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You can see an implementation of escape character with question mark below. There is also grouping with parenthesis so that question mark is matched but not shown in the results.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fdc5fe7 elementor-widget elementor-widget-html\" data-id=\"fdc5fe7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"TuringMachine1940Transistors645 ?fivethree\"\r\ndata = re.findall(\"19|64|five\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ef9550 elementor-widget elementor-widget-text-editor\" data-id=\"5ef9550\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>[&#8217;19&#8217;, &#8217;64&#8217;, &#8216;five&#8217;]<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13ffe93 elementor-widget elementor-widget-heading\" data-id=\"13ffe93\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 5: Isolating groups in Regex<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-20d1f7d elementor-widget elementor-widget-text-editor\" data-id=\"20d1f7d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You can see an implementation of escape character with question mark below. There is also grouping with parenthesis so that question mark is matched but not shown in the results.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0fec721 elementor-widget elementor-widget-html\" data-id=\"0fec721\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"TuringMachine1940Transistors645 ?fivethree\"\r\ndata = re.findall(\"\\?five(\\S+)\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1620aa elementor-widget elementor-widget-text-editor\" data-id=\"c1620aa\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;three&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f519126 elementor-widget elementor-widget-heading\" data-id=\"f519126\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 6: Escaping a character with Regex<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c466e1 elementor-widget elementor-widget-text-editor\" data-id=\"3c466e1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>You can see an implementation of escape character with question mark below.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2ba14e elementor-widget elementor-widget-html\" data-id=\"c2ba14e\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"Antarctica Space Observatory?\"\r\ndata = re.findall(\"O\\w+\\?\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a96611 elementor-widget elementor-widget-text-editor\" data-id=\"7a96611\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;Antarctica&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-236b63e elementor-widget elementor-widget-heading\" data-id=\"236b63e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Example 7: ^ character in regex to identify beginning of a string<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd2e9ec elementor-widget elementor-widget-text-editor\" data-id=\"fd2e9ec\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In this example you can see two use cases of &#8220;^&#8221; sign. First <b>starts with<\/b> &#8220;A&#8221; and then <b>not<\/b> &#8220;a&#8221;. ^ character has different functions inside the brackets vs outside the brackets.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76126d6 elementor-widget elementor-widget-html\" data-id=\"76126d6\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre rel=\"PYTHON\"><code>import re\r\n\r\ntxt = \"Antarctica Space Observatory\"\r\ndata = re.findall(\"^A[^a]+\" ,txt)\r\nprint(data)\r\n\r\n<\/code><\/pre>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e44f1e3 elementor-widget elementor-widget-text-editor\" data-id=\"e44f1e3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-size: 1rem;\">[&#8216;Ant&#8217;]<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0758b42 elementor-widget elementor-widget-text-editor\" data-id=\"0758b42\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Note that program stops when &#8220;a&#8221; is encountered.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ac05118 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ac05118\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1ec920f\" data-id=\"1ec920f\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a3fdb92 elementor-widget elementor-widget-heading\" data-id=\"a3fdb92\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Wrapping-Up Regex and Looking Ahead<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0963ad7 elementor-widget elementor-widget-text-editor\" data-id=\"0963ad7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>This wraps up our Regex Lesson with Python. We have covered pretty much all the Regular Expression concepts that you may need when analyzing textual data.<\/p><p>Feel free to bookmark this page as regex only comes up when needed with specific projects in intervals and it&#8217;s usually hard to recall everything instantly. What matters most is you know how to use regular expressions so you can always look it up quickly and build your code.<\/p><p>We have prepared specific regular expression exercises in Python which may be helpful for you to master this concept. You can find the link below. <img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/1f447.svg\" alt=\"\ud83d\udc47\" \/>\u00a0They also come with a regex cheat sheet. <img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/1f609.svg\" alt=\"\ud83d\ude09\" \/><\/p><p>In the next lesson we will be demystifying API connections with Python. APIs are an extremely powerful and common technologies that allow convenient data access usually in <a href=\"https:\/\/holypython.com\/advanced-python-lessons\/lesson-1-json-in-python\/\">Json Format<\/a>. API connections are also a great way to practice Regular Expressions since often large data in varying formats is involved and extracting specifically needed information from that data is where the added value is.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-34ab337 elementor-widget elementor-widget-heading\" data-id=\"34ab337\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Next Lesson<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-093d6fb elementor-widget elementor-widget-text-editor\" data-id=\"093d6fb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In the next lesson we will be demystifying API connections with Python. APIs are an extremely powerful and common technologies that allow convenient data access. They also often combine different technologies such as\u00a0<a style=\"background-color: #ffffff;\" href=\"https:\/\/holypython.com\/advanced-python-lessons\/lesson-1-json-in-python\/\">Json Format<\/a>\u00a0and offer fantastic opportunities to\u00a0practice <b>Regular Expressions.<\/b> Large data often comes in varying shapes and formats and extracting specifically needed information from that data is where the added value and insights are which can be achieved by Regex.<\/p><p>So, good luck! And if you&#8217;ve made it this far in your programming journey a big Congrats! <img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/1f389.svg\" alt=\"\ud83c\udf89\" \/><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/1f38a.svg\" alt=\"\ud83c\udf8a\" \/><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/2728.svg\" alt=\"\u2728\" \/><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/13.0.1\/svg\/1f973.svg\" alt=\"\ud83e\udd73\" \/> Take a moment to realize how much you&#8217;ve been learning and that you are ready move on to different projects under domains that might be of interest to you. For ideas you can always check out some of our tutorials on Holypython.com as well as this article:<\/p><ul><li><a style=\"outline-width: 0px !important; user-select: auto !important;\" href=\"https:\/\/holypython.com\/whats-next-python\/\">I&#8217;ve been learning Python, what&#8217;s next?<\/a><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-750c927 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"750c927\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-807da04\" data-id=\"807da04\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-27f806b elementor-widget elementor-widget-menu-anchor\" data-id=\"27f806b\" data-element_type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"exer\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cfc00f8 elementor-widget elementor-widget-heading\" data-id=\"cfc00f8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/holypython.com\/advanced-python-exercises\/project-regular-expressions-regex\/\">9 Regex Exercises<\/a><\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d485951 elementor-section-content-middle elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d485951\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4e61c77\" data-id=\"4e61c77\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7b3d9dc elementor-widget elementor-widget-text-editor\" data-id=\"7b3d9dc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Next Lesson: <a href=\"https:\/\/holypython.com\/advanced-python-lessons\/lesson-7-apis-with-python\/\">APIs with Python<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Python Regex Lesson Often note recognized as a Turing complete programming language, Regex or Regular Expressions still radiate a sense of &#8220;mini programming language&#8221; with its own weird (but incredibly useful!) syntax that&#8217;s used to parse, analyze and manipulate textual content. Regex can be used with many different programming languages including Python and it&#8217;s a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1787,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-7791","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/pages\/7791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/comments?post=7791"}],"version-history":[{"count":0,"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/pages\/7791\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/pages\/1787"}],"wp:attachment":[{"href":"https:\/\/holypython.com\/wp-json\/wp\/v2\/media?parent=7791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}