Practical Applications of RegEx

  1. Syntax highlighting systems
  2. Data scraping and wrangling
  3. In find and replace facility of text editors

Let's look at some classical examples of RegEx.

Number Ranges

Can you find a regex matching all integers from 0 to 255?

First, Let's look at how can we match all integers from 0 to 59:

As you can see, we have used ? quantifier to make the first digit(0-5) optional. Now, can you solve it for 0-255?

Hint : Use OR operator.

We can divide the range 0-255 into three ranges: 0-199, 200-249 & 250-255. Now, creating an expression, for each of them independently, is easy.

Range RegEx
0-199 [01][0-9][0-9]
200-249 2[0-4][0-9]
250-255 25[0-5]

Now, by using OR operator, we can match the whole 0-255 range.

As you can see, the above regex is not going to match 0, but 000. So, how can you modify the regex which matches 0 as well, rather than matching 001 only?

We have just used ? quantifier.

Validate an IP address

IP address consists of digits from 0-255 and 3 points(.). Valid IP address format is
(0-255).(0-255).(0-255).(0-255).

For example, 10.10.11.4, 255.255.255.255, 234.9.64.43, 1.2.3.4 are Valid IP addresses.

Can you find a regex to match an IP-address?

We have already seen, how to match number ranges and to match a point, we use escaped-dot(\.). But in IP address, we don't allow leading zeroes in numbers like 001.

So, We have to divide the range in four sub-ranges: 0-99, 100-199, 200-249, 250-255. And finally we use OR-operator.

So, Regex to match IP Address is as below: enter image description here

Note: The whole expression is contiguous, for the shake of easy understanding it is shown the way it is.