 So, first let us start with the little characters. A regular expression matches a broad or a specific text pattern and is read from left to right which we already know that. The first thing to recognize when using a regular expression is that everything is essentially a character and we are writing a regex to match a specific sequence of characters. Regular expressions can contain both special and literal characters. Literal characters like uppercase characters from A to Z which simply match themselves like this. A lowercase character from A to Z which simply match themselves like this. And the numbers 0 to 9 which simply match themselves like this. So they are the simplest regular expression. In reality there will be more appropriate functions available to do just that. Ok, now let us move ahead. You may now think that what about the matching control characters like newline, carriage return or tab. Well, you can just add those to your regular expression in the same way as literals. Let us see some control characters like slash n which matches a newline if exist in the input string slash r which matches a carriage return slash t which matches a tab slash a which matches a bell character slash b which matches a back space slash f which matches a form field. Now let us see one very simple demo for a newline character. Ok, so this is another a good online regular expression testing tool. So first let us define the input text over here. Say for example test one. Now here I am hitting the enter key which is a newline. Now in the next line let us define another word. In the next line another word. Now here in the regular expression what happen if I write a slash n. So as you can see here that this slash n will match the newline in this input text. Alright now let us move ahead to the next concept. A character class is a group of one or multiple characters. With a character class you can tell the regex engine to match only one out of several characters. Simply place the characters you want to match between the square brackets. For example the pattern a b c d to h will match any single character from a to h. Here we may have a special characters or rather characters which have special meaning within a regular expression. In this module we will go through each of the meta characters to see exactly what they do and how you can use them to build effective regular expression. As you can see that you can add individual characters to a character class or you can use the dash character to indicate a range of characters. Using a character class is basically a way to say any of this character is considered a match. So basically this pattern says match any single characters from a to h same as this previous one. You can also combine several number ranges and literals in one character class. Okay another great feature is that we can invert the behavior of character class by negating them. So we do this by adding a character as the first character in the class like this. The class now means match anything except the characters contained in the class. Let's perform one demo to understand this concept. Alright so here I have defined the input text like this. Now let's say I want to match the word which ends with this AT character. So here I want to match the word like bad, cad and say that. Alright so now let us write the regular expression. So first let us define the character class. Here let us define the range. Say for example a to f and then a to t. So as you can see here that this rejects now started matching the word bad, cat, dead. Now what happened if I write the word f a t. So yes this word will also match because this word is full within this character range and also satisfied this condition. Now what happened if I write the word mat m and same way the word n a t. So why this word is not highlighting because this word is not full within this range. Alright now what happened if I write only b here. Okay so as you can see that now this time this rejects will match only this bad word and what happened if I add the kerexine over here. Let us see. So now the result is opposite. So now this time this rejects matching all the words and with at except this bad word. Let's take another example. Now this time say we have a price list from one real estate website and now we want to match the prices from this given list. It means we want to match the numbers and this dollar sign. So for that I need to write the rejects like this. Let us define the character class and then dollar. Now let us define the number range 029. So now here as you can see that this rejects now started matching only the numbers with dollar sign. Now what happened if I negating the result means what happened if I add the kerexine over here. Oh the result is totally inverted. Now it's matching any character except within this character class. Easy right. Now let us move on.