Regular Expressions- Regex with Examples. (In Short)

Regular Expressions, or Regex, is all about pattern matching where everything is considered to be characters. Using regex is similar to picking selected drops from the ocean of water. Eg: In case where we need to find all strings that match a certain pattern, we could use regex. A simple application that we all might have used is Find (CTRL + F) command.
This article was written as my Internship Task at geeksgod.
Table of Contents
- Matching Generic Pattern (Anywhere in the string)
- Match Specific Pattern (At certain positions)
- Single wildcard character
- Certain Characters only
- Excluding specific characters
- Character ranges
- Example: Starting With
- Example : Starting With, having second char as…
- Repetitions
- Exactly n times
- Between n-m times a single specific character
- Between n-m times any single character
- One or more times each with multiple char wildcard
- Metacharacter (?-Single char 0 or 1 times)
- Any Digit
- Any Space/ tab
- Starts with (^) & Endswith($)
- Group matching
Examples
Here pattern refers to what we are searching and strings found represent matching results.
Matching Generic Pattern (Anywhere in the string)
Both “example123abc” , ” var=’123a’ “match pattern “123a“
Match Specific Pattern (At certain positions)
Single wildcard character
To find all three(or n) letter word ending with full-stop:
Pattern: “…\.” (Here, the starting three dots/ period indicate single wild card character and “\.” is to identify an actual “.” )
The following strings match the specified pattern: “bat.“,”nod.“,”12a.”,”x?=.“
Certain Characters only
Pattern: [abc]an
Matching Strings: aan, ban,can
Non-matching Strings: dan, fan, pan, etc. All words with pattern “.an” except for 3 matching words.
Excluding specific characters
Pattern: [^dpt]an
Matching Strings: All words of pattern “.an” except for 3 non-matching words
Non-matching Strings: dan, pan, tan
Character ranges
Example: Starting With
Pattern: [A-Z0–9]..
Matching Strings: All 3 letter words of pattern starting with either any letter between A-Z or digits 0–9.
Non-matching Strings: dxe, f1A, hgkeiyuyoi
Example : Starting With, having second char as…
More specific example could be : To match words of any length starting with small alphabet , second character being a digit and following characters could be any.
Pattern: [a-z][0–9]
Matching Strings: a12, b3h,z5nhgkhg
Non-matching Strings: dx1, A2fhkh, 7asf
Repetitions
Exactly n times
Pattern: z{3} Any word having ‘z’ 3 times
Matching Strings: a12, b3h,z5nhgkhg
Non-matching Strings: dx1, A2fhkh, 7asf
Between n-m times a single specific character
Pattern: z{3–6}
Matching Strings: a1112, bbbb3h,z5nhggggggkhg
Non-matching Strings: abc112, aaaaaaaabx3
Between n-m times any single character
Pattern: .{2–3}
Matching Strings: aa12, b333h, zbb123, aaac
Non-matching Strings: aaaa, a123, aaaac
One or more times each with multiple char wildcard
Pattern: aa+b*c+
Matching Strings: aabcc,aaabxc
Non-matching Strings: abc, aaacb,aaabc
[abc]+ (one or more of any a, b, or c character), .* (zero or more of any character).
Metacharacter (?-Single char 0 or 1 times)
Pattern: ab?c
Matching Strings: “abc” , “ac”
Non-matching Strings: abbc, aaacb,bc
Any Digit
Pattern: \d
Matching Strings: 1,34,6711
Non-matching Strings: a23,a,3a
Any Space/ tab
Pattern: a \s+ b
Matching Strings: “a b” , “a b” Between a and b there should be 1 or more spaces
Non-matching Strings: ab
Starts with (^) & Endswith($)
Pattern: ^Hi
Matching Strings: Hi, Hi there!
Non-matching Strings: Hellohi, Ana Hi
Pattern: Bye$
Matching Strings: Ana Bye, Bye, Good Bye
Non-matching Strings: Bye Ana
Group matching
To only allow certain type of files (here pdf) with certain prefix (here : file)
Pattern: ^(file.+).pdf$
Matching Strings: file1.pdf , filefile3.pdf
Non-matching Strings: 1.pdf, file.pdf.ppt
For amazing tutorials to interactively learn “Regex” visit https://regexone.com/