Home > Common Problem > Detailed explanation of regular expressions for IP addresses

Detailed explanation of regular expressions for IP addresses

coldplay.xixi
Release: 2020-06-12 09:12:28
forward
7598 people have browsed it

Detailed explanation of regular expressions for IP addresses

Detailed regular expression analysis of IP address

The IP address is 32 bits long and divided into 4 segments , each segment is 8 digits, represented by decimal numbers. The range of each segment is 0~255, and segments are separated by English periods "." For example: the IP address of a certain computer is 10.11.44.100.

Analyze the composition characteristics of IP addresses: 250-255, 200-249, 0-199.

These three situations can be considered separately,

250-255: Features: Three digits, the hundreds digit is 2, the tens digit is 5, the ones digit is 0~5, expressed with regular expressions The formula can be written as: 25[0-5]

200-249: Features: Three digits, the hundreds digit is 2, the tens digit is 0~4, the ones digit is 0~9, you can use regular expressions Written as: 2[0-4]\d

0-199: This can be continued to be split, which makes it simpler and clearer to write.

0-9: Characteristics: one digit, individual The digits are 0~9, which can be written using regular expressions: \d

10-99: Characteristics: two digits, tens digits are 1~9, and ones digits are 0~9, which can be written using regular expressions Written as: [1-9]\d

100-199: Features: Three digits, the hundreds digit is 1, the tens digit is 0~9, the ones digit is 0~9, it can be written using regular expressions :1\d{2}

So the regular expression for 0-99 can be written as [1-9]?\d, then 0-199 can be written as (1\d{ 2})|([1-9]?\d), so the regular expression from 0 to 255 can be written as (25[0-5]|2[0-4]\d|((1\d{2 })|([1-9]?\d)))

Finally, add a period to the first three paragraphs. You can use {3} to repeat it. Repeat the same match in the fourth paragraph to get the IP address. Regular expression:

((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))))
Copy after login

Let’s interact with you:

Why is the three-digit match placed in front of the two-digit/one-digit number? Because one of the rules of regular expressions is: the first match has the highest priority.
2. 0.0.0.0 and 255.255.255.255 are legal IP addresses. Do you know why?
3. 192.169.01.108, a number with an extra 0 in front of it, is not legal here. Why is it like this?
4. Why is there ?: at the front? What's its use here?
5. If you find any errors in this expression, please leave a message to correct it!

Recommended tutorial: "IP"

The above is the detailed content of Detailed explanation of regular expressions for IP addresses. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:liqingbo.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template