This blog post is firstly published on my personal blogging site kanby.net
TL;DR
- Most common regex patterns
- Examples of regex patterns
Most Common Patterns
Important:
a x bin this exampleais preceeding by x andbis followed by x
^means the start of each line in string$means the end of each line in string()groups specific pattern(?:)means this pattern will match in string BUT will not return it. E.g., A phone number regex pattern must include country code but does not have to extract that part even though it must match on string.[]matches specified single character, e.g.[abc]will match a or b or c. Ranges are supported too[a-c]will match the same.[^]matches every character except specified ones.matches any single character*0 or more of the preceding element+1 or more of the preceding element?0 or 1 of the preceding element{n}Exactly n occurrences of the preceding element.{n,}n or more occurrences of the preceding element.{n,m}Between n and m occurrences of the preceding element\dany digit\Dany non-digit\wany word character (alphanumeric + underscore)\Wany non-word character\sMatches any whitespace character\SMatches any non-whitespace character\escape character, e.g., İf you want to find.(which is a special character) in your string, you need to do this\.
By combining these, you can create highly complicated pattern match/extraction functions with Regex.
Examples
\^[a-z_]+\.com$\will match .com domains-
[a-z_]means characters from a to z and underscore -
+means at least one of them -
\.means period (.) -
comis for just com -
^and$is for searching from the start of the string to the end of each line
-
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$will match emails
^Asserts the start of the string.[a-zA-Z0-9._%+-]+Matches one or more characters that can be:- Letters (a-z, A-Z)
- Digits (0-9)
- Underscores (_)
- Dots (.)
- Percent signs (%)
- Plus signs (+)
- Hyphens (-)
@Matches the "@" symbol which is mandatory in all email addresses.[a-zA-Z0-9.-]+Matches one or more characters for the domain name, allowing:- Letters (a-z, A-Z)
- Digits (0-9)
- Hyphens (-)
- Dots (.)
\.Matches a literal dot (.) separating the domain name from the top-level domain (TLD).[a-zA-Z]{2,}Matches the top-level domain (TLD) consisting of at least two letters (e.g., .com, .org).$Asserts the end of the string.
If you have any questions, here is my Instagram @emrekanbay.en
