Regular expression also known as regex is a sequence of characters/symbols that forms a search pattern. It is supported by most programming language including Perl, Javascript, PHP, C-Sharp and Java.
Commonly Used Symbols and Syntax
META CHARACTERS
|
|
^
|
Start of subject (or line in multiline mode) |
$
|
End of subject (or line in multiline mode) |
[
|
Start character class definition |
]
|
End character class definition |
|
|
Alternates ( a|b matches a or b ) |
(
|
Start subpattern |
)
|
End subpattern |
|
Escape character |
BASE CHARACTER CLASSES
|
|
w
|
Any “word” character (a-z 0-9 _) |
W
|
Any non-“word” character |
s
|
Whitespace (space, tab, CRLF) |
S
|
Any non-whitespace character |
d
|
Digits (0-9) |
D
|
Any non-digit character |
.
|
Any character except newline |
QUANTIFIERS
|
|
*
|
Zero or more |
+
|
One or more |
?
|
Zero or one occurrence |
{n}
|
n occurrences exactly |
{n,}
|
At least n occurrences |
{,m}
|
At most m occurrences |
{n,m}
|
Between n and m occurrences inclusive |
[…]
|
list or range of characters (or both). [abc] means “any single character that is either a, b or c” |
[^…]
|
any single character that is not in the class. [^0-9xyz] matches any single character that isn’t a digit and isn’t the letter x, y, or z |
r
|
escape sequences r (carriage return) |
t
|
escape sequences t (tab) |
These are most of the commonly-used RegEx features, there are quite a few others
you may want to explore. The complete manual is at www.pcre.org/pcre.txt
USEFUL REGULAR EXPRESSIONS
Here’s a list of some useful regular expressions that can make life as a
developer less hassling.
Regular expression for username
Following pattern will match alphanumeric string including “_” of length 3 to 25.
^[a-z0-9_]{3,25}$
Regular expression for email
^[a-z0-9]+([_a-z0-9.-]+)*[a-z0-9]+@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$
Regular expression for Password
Password must contain letters a-zA-Z and at least one digit 0-9
(/^(?=.*d)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{8,}$/)
Explanation…
(/^(?=.*d) //should contain at least one digit
(?=.*[a-z]) //should contain at least one lower case
(?=.*[A-Z]) //should contain at least one upper case
[a-zA-Z0-9]{8,} //should contain at least 8 from the mentioned characters $/)
Regular expression for URL
^http[s]?://[a-z0-9-.]+.[a-z.]{2,5}(/[a-z0-9%-_.?=&@#]*)?$
Regular expression for Decimal value
^[0-9]+$
Regular expression for Float value
^[0-9]*.[0-9]*[1-9]+$
Regular expression for Removing Whitespaces
str.replace(/^s+|s+$|s+(?=s)/g, "")
Share your favorite RegEX using the comment form below…