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 b
in this examplea
is preceeding by x andb
is followed by x
-
^
means start of each line in string -
$
means end of each line in string -
()
groups spesific pattern -
(?:)
means this pattern will match in string BUT will not return it. Eg. 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, eg.[abc]
will macth a or b or c. Ranges are supported too[a-c]
will match 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, eg. İf you want to find.
(which is a special character) in your string, you need to do this\.
With 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 (.) -
com
is for just com -
^
and$
is for searching from start of strin to 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
Top comments (0)