Regular Expressions Reference or Cheat Sheet
The regular expression, as a pattern, can match all kinds of text strings helping our web application validate, compare, sanitize data, compute, decide , format , data extraction etc. It can do simple or very complex string manipulations. The list of possibilities is enormous when it comes to what you can achieve using regular expressions.Below table shows a quick referece to basic syntax , definations and examlple.
|
Character |
Definition |
Example |
|
^ |
The pattern has to appear at the beginning of a string. |
^cat matches any string that begins with cat |
|
$ |
The pattern has to appear at the end of a string. |
cat$ matches any string that ends with cat |
|
. |
Matches any character. |
cat. matches catT and cat2 but not catty |
|
[] |
Bracket expression. Matches one of any characters enclosed. |
gr[ae]y matches gray or grey |
|
[^] |
Negates a bracket expression. Matches one of any characters EXCEPT those enclosed. |
1[^02] matches 13 but not 10 or 12 |
|
[-] |
Range. Matches any characters within the range. |
[1-9] matches any single digit EXCEPT 0 |
|
? |
Preceeding item must match one or zero times. |
colou?r matches color or colour but not colouur |
|
+ |
Preceeding item must match one or more times. |
be+ matches be or bee but not b |
|
* |
Preceeding item must match zero or more times. |
be* matches b or be or beeeeeeeeee |
|
() |
Parentheses. Creates a substring or item that metacharacters can be applied to |
a(bee)?t matches at or abeet but not abet |
|
{n} |
Bound. Specifies exact number of times for the preceeding item to match. |
[0-9]{3} matches any three digits |
|
{n,} |
Bound. Specifies minimum number of times for the preceeding item to match. |
[0-9]{3,} matches any three or more digits |
|
{n,m} |
Bound. Specifies minimum and maximum number of times for the preceeding item to match. |
[0-9]{3,5} matches any three, four, or five digits |
|
| |
Alternation. One of the alternatives has to match. ‘or’ operater |
July (first|1st|1) will match July 1st but not July 2 |
POSIX Character Classes |
||
|
Character |
Definition |
Example |
|
[:alnum:] |
alphanumeric character |
[[:alnum:]]{3} matches any three letters or numbers, like 7Ds |
|
[:alpha:] |
alphabetic character, any case |
[[:alpha:]]{5} matches five alphabetic characters, any case, like aBcDe |
|
[:blank:] |
space and tab |
[[:blank:]]{3,5} matches any three, four, or five spaces and tabs |
|
[:digit:] |
digits |
[[:digit:]]{3,5} matches any three, four, or five digits, like 3, 05, 489 |
|
[:lower:] |
lowercase alphabetics |
[[:lower:]] matches a but not A |
|
[:punct:] |
punctuation characters |
[[:punct:]] matches ! or . or , but not a or 3 |
|
[:space:] |
all whitespace characters, including newline and carriage return |
[[:space:]] matches any space, tab, newline, or carriage return |
|
[:upper:] |
uppercase alphabetics |
[[:upper:]] matches A but not a |
Perl-Style Metacharacters |
||
|
Character |
Definition |
Example |
|
// |
Default delimiters for pattern |
/colou?r/ matches color or colour |
|
i |
Append to pattern to specify a case insensitive match |
/colou?r/i matches COLOR or Colour |
|
\b |
A word boundary, the spot between word (\w) and non-word (\W) characters |
/\bfred\b/i matches Fred but not Alfred or Frederick |
|
\B |
A non-word boundary |
/fred\B/i matches Frederick but not Fred |
|
\d |
A single digit character,this is equivalent to the class [0-9]. |
/a\db/i matches a2b but not acb |
|
\D |
A single non-digit character,this is equivalent to the class [^0-9]. |
/a\Db/i matches aCb but not a2b |
|
\n |
The newline character. (ASCII 10) |
/\n/ matches a newline |
|
\r |
The carriage return character. (ASCII 13) |
/\r/ matches a carriage return |
|
\s |
A single whitespace character,this is equivalent to the class [^ \t\n\r\f\v]. |
/a\sb/ matches a b but not ab |
|
\S |
A single non-whitespace character,this is equivalent to the class [^ \t\n\r\f\v]. |
/a\Sb/ matches a2b but not a b |
|
\t |
The tab character. (ASCII 9) |
/\t/ matches a tab. |
|
\w |
A single word character – alphanumeric and underscore,this is equivalent to the class [a-zA-Z0-9_]. |
/\w/ matches 1 or _ but not ?, |
|
\W |
A single non-word character,this is equivalent to the class [^a-zA-Z0-9_]. |
/a\Wb/i matches a!b but not a2b |









Related Articles
No user responded in this post
Leave A Reply