search
HomeCommon ProblemDetailed explanation of regular expressions for IP addresses

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))))

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!

Statement
This article is reproduced at:liqingbo. If there is any infringement, please contact admin@php.cn delete

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.