Characters with special meaning

We have seen that, we are using *, +, ., $, etc for different purposes. Now, if we want to match them themselves, we have to escape them using escape character(backslash-\) .

Below is the table for these kind of characters and their escaped version, along with their usages.

Character Usage Escaped version
\ escape character \\
. predefined character class \.
| OR operator \\
* as quantifier \*
+ as quantifier \+
? as quantifier \?
^ boundary matcher \^
$ boundary matcher \$
{ in quantifier notation \{
} in quantifier notation \}
[ in character class notation \[
] in character class notation \]
( in group notation \(
) in group notation \)
- range operator NA

Sometimes, it is also preferred to use escaped forward slash(/).

Bonus Problems

  1. Predict the output of the following regex:

    RegEx: \b(0|(1(01*0)*1))*\b
    Text: This RegEx denotes the set of binary numbers divisible by 3: 0,11,1010, 1100, 1111, 1001

    Answer:

  2. Find a regular expression to match whole lines in the text containing either Apple, Orange, Grape as a word.

    Hint: Use ^ and $ to match whole lines.

    Answer: ^.*\b(apple|orange|grape)\b.*$

  3. Find an expression which matches cat., 896., ?=++ but not abc1.

    Answer: ...\W