The Regular Expression symbols and syntax are same for every programming language there is just a minor difference of different programming language syntax where regular expression is implementing.
Regular Expression Symbols Combinations (RegEx Rules):
RegEx Pattern | Discription |
---|---|
[abc] | Any Character only from a,b,c |
[^abc] | Any other Character except a,b,c |
[a-z] | Any lower Character from 'a' to 'z' |
[A-Z] | Any upper/Capital Character from 'A' to 'Z' |
[a-z A-Z] | Accept any combination of lower and upper character. |
[0-9] | Accept only numeric digits '0' to '9' |
$ | Find ending of the string |
^ | Find beginnig of the string |
| | OR [Note: only work in complex expressions] |
() | Split the long Regular expression in sub-groups |
. | Match any single character. |
Regular Expression Quantifiers Symbols Combinations:
RegEx Pattern | Discription | Remark |
---|---|---|
[rule]? | Possibility of expression match is either zero ('0') or one ('1') times | |
[rule]+ | Possibility of expression match atleast one ('1') or Multiple ('1',...) times | |
[rule]* | Possibility of expression match is either Zero ('0') or Multiple ('1',...) times | |
[rule]{n} | Possibility of expression occure 'n' times. i.e: if n==10: then it will occure 10 times. | |
[rule]{n,} | Possibility of expression match atleast 'n' times or Multiple ('n',...) times. i.e, if n=10 then it will atleast occure 10 times or more than 10 times. |
|
[rule]{y,z} | Possibility of expression match atleast 'y' times but less than 'z' times. i.e, if y=10 and z=20, than it will atleast accure 10 times but less than 20 times. |
Regular Expression Meta Character (Short method of writing RegEx rules):
RegEx Meta Char | Equivalent To | Description |
---|---|---|
\d | [0-9] | Representing only numbers are allowed |
\D | [^0-9] | Representing only numbers are not allowed |
\w | [a-z A-Z 0-9] | Representing any alphabets and numbers are allowed |
\W | [^\w] | Representing none of alphabets and numbers are allowed |
Write the Regular expression to remove the digits and special character pattern from the string followed by below instructions.
- Instructions
- Find the count of special characters and digits in each word
- Remove the special characters and digits from the words
- Multiply each word with the count of special characters in that word
- Reverse the order of words
- Return the new string
Example 1: Write a pattern to find the list of Mobile Numbers Starts with either 7 or 9 and ends with 0.
Solution: pattern = [79][0-9]{9}
Example 2: Write a pattern to check the user provided inputs contains First Upper Letter follow by Lower Letters and ended with single number.
Solution: pattern = [A-Z][a-z]+[0-9]
Example 3: Write a pattern to check the user provided email id is vaild or not.
Solution: pattern = [a-z A-Z 0-9_\-\.]+[@][a-z A-Z]+[\.][a-z A-Z]{2,7}
Explanation:
Used RegEx Pattern | Purpose of symbols | |
---|---|---|
[a-z A-Z 0-9_\-\.] | This expression allows to enter any 'username' including Lower-Upper alphabets, digits, hyphen, underscore combinations only, i.e. "myfacebook_Blog". | |
[@] | It is representing that 'at-the-rate' symbol comes only once just after entering the username. | |
[a-z A-Z] | This block allowing to enter the 'domain' name either in small or upper letters, i.e. "gmail". | |
[\.] | This block indicating that 'Dot' symbol comes only once just after entering the domain name. | |
[a-z A-Z]{2,7} | This block allowing to enter the 'extension' name either in small or upper letters which has minimum character range is two and maximum is 7, i.e. "com,in,us,uk,tech, etc.". |
Example 4: Write a regular expression parttern to check the given word is either 'a' or 'b', or combination of 'a' and 'b', i.e. {a, b , abb, bbbaa, etc.}
Solution: pattern = [a+b]*
Example 5: Write a regular expression parttern to check the given string is starts with 'a' but not having consective b's, i.e. {a, aab, abaa, etc.}
Solution: pattern = [a+ab]*
Example 6: Write a regular expression parttern to check the given string is zero "0" and has only even sequence, i.e. {00, 0000, 000000 etc.}
Solution: pattern = [00]*
Example 7: convert user inputed 12 hours time format into 24 hours time format using Regular expression.
Solution
import re def timeConversion(s): f = re.findall("\d+|\w+", s) hour= int(f[0]) mi = f[1] sec = f[2] amPM = f[-1] if amPM =='PM' and hour!=12: hour = 12+ hour elif hour==12 and amPM =='AM': hour= 0 else: hour = hour result = f'{hour:02d}:{mi}:{sec}' return result #Function Call timeConversion("07:05:45PM") #Output: 19:05:45
Example 8: Write a code using regex to match a specific word from the given string.
Solution
import re #Test_String = input() Test_String = "Learn Regular Expression applied on every scripting and programming Language such as Java, Rust, Ruby, and Python." # Task: Find how many times the word "and" appear in the given string? Regex_Pattern = r'\band\b' match = re.findall(Regex_Pattern, Test_String) print("Number of matches :", len(match))