This blog post is firstly published on my personal blogging site kanby.net
Important:
a x b
in this examplea
is preceeding by x andb
is 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\d
any digit\D
any non-digit\w
any word character (alphanumeric + underscore)\W
any non-word character\s
Matches any whitespace character\S
Matches 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.
\^[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 (.)
com
is 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:
@
Matches the "@" symbol which is mandatory in all email addresses.[a-zA-Z0-9.-]+
Matches one or more characters for the domain name, allowing:
\.
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