<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kiara Johnson</title>
    <description>The latest articles on DEV Community by Kiara Johnson (@kiararj).</description>
    <link>https://dev.to/kiararj</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1095349%2F88201341-0fda-4904-b91a-067c06e6fd78.jpeg</url>
      <title>DEV Community: Kiara Johnson</title>
      <link>https://dev.to/kiararj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiararj"/>
    <language>en</language>
    <item>
      <title>Regular Expressions (Regex) in JavaScript Tutorial</title>
      <dc:creator>Kiara Johnson</dc:creator>
      <pubDate>Sat, 28 Oct 2023 21:33:47 +0000</pubDate>
      <link>https://dev.to/kiararj/regular-expressions-regex-in-javascript-tutorial-39en</link>
      <guid>https://dev.to/kiararj/regular-expressions-regex-in-javascript-tutorial-39en</guid>
      <description>&lt;h1&gt;
  
  
  Regular Expressions
&lt;/h1&gt;

&lt;p&gt;Regular expressions are a list of characters that define a search pattern for a string of text. They are made up of “literal” and “meta” characters. “Literal” characters indicate a match of a specific character, such as a letter. “Meta” characters have special meanings such as (*) which indicate to include all preceding occurrences in the match. These characters are used to match text. There are several ways you can define the search. Besides literal and meta characters, you can use criteria such as character classes, quantifiers, anchors, and escape sequences.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;I will be using a regular expression to match an email in this tutorial:&lt;/p&gt;

&lt;p&gt;/^([a-z0–9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anchors&lt;/li&gt;
&lt;li&gt;Quantifiers&lt;/li&gt;
&lt;li&gt;Character Classes&lt;/li&gt;
&lt;li&gt;Flags&lt;/li&gt;
&lt;li&gt;Grouping and Capturing&lt;/li&gt;
&lt;li&gt;Bracket Expressions&lt;/li&gt;
&lt;li&gt;Greedy and Lazy Match&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Regex Components
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Anchors
&lt;/h3&gt;

&lt;p&gt;Anchors do not match a specific character, rather the position of a specific character. Anchors can be used to indicate the before, after, and between positions. In our email example, the (^) anchor is used to indicate that the search pattern must match from the beginning of the expression:&lt;/p&gt;

&lt;p&gt;^([a-z0–9_.-]+)&lt;/p&gt;

&lt;p&gt;The ($) anchor indicates that the string ends here and all characters must precede it:&lt;/p&gt;

&lt;p&gt;([a-z.]{2,6})$&lt;/p&gt;

&lt;h3&gt;
  
  
  Quantifiers
&lt;/h3&gt;

&lt;p&gt;Quantifiers represent how many characters should be matched in an expression. First, the (+) quantifier is used to match one or more occurrences of lowercase letters, digits, underscores, periods, or hyphens:&lt;/p&gt;

&lt;p&gt;([a-z0–9_.-]+)&lt;/p&gt;

&lt;p&gt;The (+) is also used to match one or more occurrences of digits, lowercase letters, periods, or hyphens:&lt;/p&gt;

&lt;p&gt;([\da-z.-]+)&lt;/p&gt;

&lt;p&gt;The quantifier ( {2, 6} ) is used to match a minimum of two characters and a maximum of 6 characters in the preceding group:&lt;/p&gt;

&lt;p&gt;([a-z.]{2,6})&lt;/p&gt;

&lt;h3&gt;
  
  
  Character Classes
&lt;/h3&gt;

&lt;p&gt;Character classes match any character or set of characters that are within a set of brackets. For example, the email regex uses three different instances of character classes. The first set of brackets ensures that the string can be a combination of any number of lowercase letters, numbers, dots, underscores, or hyphens. It specifies characters before the ( @ ) symbol:&lt;/p&gt;

&lt;p&gt;[a-z0–9_.-]@&lt;/p&gt;

&lt;p&gt;The second set of brackets is used to specify characters after the ( @ ) symbol. It allows the search to contain lowercases letters, numbers, dots, underscores, or hyphens:&lt;/p&gt;

&lt;p&gt;@[\da-z.-]&lt;/p&gt;

&lt;p&gt;The third set of brackets specifies characters before the literal (.) character. They will match any combination of lowercase letters and dots:&lt;/p&gt;

&lt;p&gt;[a-z.]&lt;/p&gt;

&lt;h3&gt;
  
  
  Grouping and Capturing
&lt;/h3&gt;

&lt;p&gt;Grouping is done by putting regex expressions in parentheses. Capturing groups are used to treat multiple characters as a single unit. There are three different groups in the email regex.&lt;/p&gt;

&lt;p&gt;The first group is used to capture one or more occurrences of lowercase letters, digits, underscores, dots, or hyphens within the group:&lt;/p&gt;

&lt;p&gt;([a-z0–9_.-]+)&lt;/p&gt;

&lt;p&gt;The second group is used to capture one or more occurrences of digits, lowercase letters, dots, or hyphens within the group:&lt;/p&gt;

&lt;p&gt;([\da-z.-]+)&lt;/p&gt;

&lt;p&gt;The third group is used to capture between two and six occurrences of lowercase letters or dots:&lt;/p&gt;

&lt;p&gt;([a-z.]{2,6})&lt;/p&gt;

&lt;h3&gt;
  
  
  Bracket Expressions
&lt;/h3&gt;

&lt;p&gt;Bracket expressions are characters located between two brackets ( [ ] ). These expressions are used to match one or more characters in a set. In the example, the first bracket expression matches any lowercase, digit, underscore, dot, hyphen, or a combination of them:&lt;/p&gt;

&lt;p&gt;[a-z0–9_.-]&lt;/p&gt;

&lt;p&gt;The second bracket expression matches any digit, lowercase letter, dot, hyphen, or combination of them:&lt;/p&gt;

&lt;p&gt;[\da-z.-]&lt;/p&gt;

&lt;p&gt;The third bracket expression matches any lowercase letter or dot.&lt;/p&gt;

&lt;p&gt;[a-z.]&lt;/p&gt;

&lt;h3&gt;
  
  
  Greedy and Lazy Match
&lt;/h3&gt;

&lt;p&gt;Greedy matches match as many qualifiers as it can, while lazy matches match as few qualifiers as it can. Greedy matches use the quantifiers (+) and (*). Lazy matches are noted with the (?) character. The email example uses greedy matching.&lt;/p&gt;

&lt;h2&gt;
  
  
  Author
&lt;/h2&gt;

&lt;p&gt;My name is Kiara Johnson and I am a new web developer. Check out my Github: &lt;a href="https://github.com/Kiararj"&gt;https://github.com/Kiararj&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>regex</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>On to Back End!</title>
      <dc:creator>Kiara Johnson</dc:creator>
      <pubDate>Fri, 18 Aug 2023 17:09:23 +0000</pubDate>
      <link>https://dev.to/kiararj/on-to-back-end-5f48</link>
      <guid>https://dev.to/kiararj/on-to-back-end-5f48</guid>
      <description>&lt;p&gt;Two months in to the Full Stack Bootcamp, and we are starting to learn Back End technologies. I had finally started mastering JavaScript and node and express are definitely throwing me for a bit of a loop. Staying strong, though! Still building and enjoying the journey.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>backend</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>Going into week 7, and I'm struggling.</title>
      <dc:creator>Kiara Johnson</dc:creator>
      <pubDate>Mon, 24 Jul 2023 02:41:00 +0000</pubDate>
      <link>https://dev.to/kiararj/going-into-week-7-and-im-struggling-475c</link>
      <guid>https://dev.to/kiararj/going-into-week-7-and-im-struggling-475c</guid>
      <description>&lt;p&gt;Coding is hard, but I'm still optimistic. I feel when I am listening to lecture and applying it in class I understand the concepts perfectly. But once I open VSCode, outside of class I immediately draw a blank…where do I even start? A few Google searches point me in the right direction sometimes, but for the most part it's difficult for me to build something on my own. I still have hope, but it's definitely frustrating.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Two Weeks into Coding Bootcamp</title>
      <dc:creator>Kiara Johnson</dc:creator>
      <pubDate>Sun, 18 Jun 2023 23:26:15 +0000</pubDate>
      <link>https://dev.to/kiararj/two-weeks-into-coding-bootcamp-1f00</link>
      <guid>https://dev.to/kiararj/two-weeks-into-coding-bootcamp-1f00</guid>
      <description>&lt;h1&gt;
  
  
  Two Weeks In
&lt;/h1&gt;

&lt;p&gt;I've just wrapped up the second week of my coding bootcamp and the excitement hasn't worn off, yet. I'm benefiting greatly from having a live person explaining the concepts along with being able to code with them side by side and ask questions as they pop up. The first week was HTML and CSS fundamentals, which I already had a pretty good grasp on after trying out a few intro courses over the past year. Week two was about more complex CSS concepts, such as Flexbox. I thought I had a fairly good grasp on it until I tried coding some from scratch. I'm going to try reading more documentation before trying again. Other than that, I'm feeling great about the course so far. This week's challenge is to create a portfolio using the HTML and CSS we have learned so far. Creating a portfolio is something I've put off for a while since I think mine would not be advanced enough. I'm glad the course is forcing me to do so, since it will be very important in the job search. Next week, we start JavaScript which is the language that has been the toughest for me to learn. I'm hoping this new way of learning will finally make the language click for me. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Joining a Bootcamp</title>
      <dc:creator>Kiara Johnson</dc:creator>
      <pubDate>Sun, 04 Jun 2023 15:33:09 +0000</pubDate>
      <link>https://dev.to/kiararj/joining-a-bootcamp-120g</link>
      <guid>https://dev.to/kiararj/joining-a-bootcamp-120g</guid>
      <description>&lt;h2&gt;
  
  
  UT Coding Bootcamp
&lt;/h2&gt;

&lt;p&gt;Tomorrow, I start the UT coding bootcamp to accelerate my learning for Web Development. I have been on my coding journey for about a year and a half so far. I've started and joined a few free bootcamps and other free online learning tracks. I've learned along the way that I'm not the best at self teaching myself and I need some form of live instruction/tutoring to keep me on track. To say I'm excited to start this new venture is an understatement. I've completed the prework and built a simple study guide this week with HTML, CSS, and JavaScript. Check it out here: &lt;a href="https://github.com/Kiararj/prework-study-guide"&gt;Study Guide&lt;/a&gt;.&lt;br&gt;
The prework included learning soft-skills like developing a web developer mindset, how to debug, joining the web developer community, and commenting in your code. I'm excited to see what's in store for me for the next 6 months and what I will accomplish.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>beginners</category>
      <category>career</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
