IP地址,可能都比较熟悉吧,就是由0-255间的数字,并由 . 隔开组成的。定义非常简单,而用正则表达式检验,同样也非常简单。
下面,我们来看看正则表达式是如何表示的:
/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/
这就是表示IP地址的正则表达式,别吓跑了。下面我们来详细说一下他是如何表示的。首先,我要说明的是开始和结尾的“/”是定界符,不代表什么,而 \A 和 \Z 分别代表开始和结尾,接下来,我们把中间的部分拆成两段,((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3},这是第一段,我们用不同的颜色标出了圆括号的对应位置。最后的{3}表示最红括号里的内容出现3次。而蓝色括号里的就是表示每一位数字的表示。\. 表示 . 号本身,也就是前三个数字后有点号。现在我们分析最关键的地方,如何表示0-255这些数字。即蓝色括号里的内容。
这些数字可能是一位,两位或三位,我们用符号(|)来表示,当一位或两位时,请看第一个([0-9]?[0-9]) ,问号表示出现0次或1次,这就代表了0-99之间的数字。当数字为三位数时,我们又分三种情况,1-199:我们表示为(1[0-9]{2}),200-249:我们表示为(2[0-4][0-9]),250-255:我们表示为(25[0-5])。这四种能匹配任何一种,都是0-255的范围内,整个前部分的意思就是由三个0-255的数字加小数点组成。后一部分就不用说了,就是前面数字部分的复制。只表示一个数字。现在把它整理成为一个函数。以供参考:
function checkipaddres ($ipaddres) {
$preg="/\A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\Z/";
if(preg_match($preg,$ipaddres))return true;
return false;
}
分享到:
相关推荐
本文将对一系列常用的PHP正则表达式进行汇总和解释,帮助开发者更好地理解和运用这些模式。 #### 1. 数字匹配 - **"^\\d+$"**:匹配由一个或多个数字组成的字符串。 - **"^[0-9]*[1-9][0-9]*$"**:匹配非零的正...
#### 六、案例分析:使用正则表达式验证电子邮件地址 ```php function validateEmail($email) { return preg_match("/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/", $email); } $email = "mitchell@...
- **Apache Web Server**:讲解了如何在Apache中使用正则表达式进行重写规则。 - **Vi编辑器**:探讨了在Vi编辑器中进行模式匹配的方法。 - **Shell Tools**:包括了在Unix shell工具中使用正则表达式的示例。 通过...
- **学会如何使用正则表达式:** 在不同的编程语言中应用正则表达式的具体方法。 - **能够读懂正则表达式:** 能够理解复杂的正则表达式模式,并能根据需求进行调整。 #### 三、正则表达式基础 ##### 实例1 例如,...
#### 十二、验证IP地址 **表达式:** `\d+\.\d+\.\d+\.\d+` **解释:** 该表达式用于验证IPv4地址格式。 **应用场景:** - 网络请求来源验证。 - IP地址管理中格式校验。 #### 十三、数字匹配 **表达式:** - `...
### PHP中常用的正则表达式知识点详解 #### 一、匹配中文字符的正则表达式 **表达式**: `[\u4e00-\u9fa5]` **解释**: 此表达式用于匹配所有中文字符。其中`\u4e00`表示中文的第一个Unicode编码,`\u9fa5`表示最后一...
**用途**: 提取或验证IP地址。 **评注**: 可用于网络应用中获取客户端的IP地址。 ### 匹配特定数字 - **正整数**: `^[1-9]\d*$` - **负整数**: `^-[1-9]\d*$` - **整数**: `^-?[1-9]\d*$` - **非负整数**: `^[1-9]\...
匹配IP地址... 187 处理文件名... 190 匹配对称的括号... 193 防备不期望的匹配... 194 匹配分隔符之内的文本... 196 了解数据,做出假设... 198 去除文本首尾的空白字符... 199 HTML相关范例... 200 匹配...
正则表达式(Regular Expression,简称regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索和替换等场景。...在实际使用中,可以根据需求进行修改和调整,以满足特定场景的需求。
4. 合法性验证和格式化:在这一部分,知识点可能会包括使用正则表达式来验证数据的合法性,例如邮箱地址、电话号码、IP地址和网址的验证规则,以及进行数据的格式化处理,例如改变日期格式、数值格式化等。...
21. `^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$` - IP地址的正则表达式。 正则表达式中的元字符,如`\`、`^`、`$`、`.`、`*`、`+`...
本文将深入探讨PHP中的正则表达式以及如何实现汉字转拼音,同时也会提及获取IP地址的相关知识。 1. PHP 正则表达式: PHP的正则表达式库提供了一种强大的方式来处理字符串,可以用来验证输入数据、提取信息、格式...
在PHP的正则表达式应用中,掌握一系列的正则表达式模式对于处理字符串、验证数据格式、搜索和替换文本等任务至关重要。以下是从给定的文件内容中提炼出的关键正则表达式知识点: ### 数字相关的正则表达式 1. **...
在PHP中,正则表达式的应用非常普遍,本文将详细介绍给定文件中的PHP常用正则表达式及其应用场景。 #### 数字相关的正则表达式 1. **匹配非负整数:** `^\d+$` - **含义:** 从字符串开头到结尾全部由数字组成。 ...
正则表达式是编程中处理文本的强大工具,尤其在网页前端开发中,它常用于数据验证、内容提取和格式化。以下是一些具体的正则表达式实例及其应用: 1. **截取中间字符串**: 示例中的 `preg_match` 函数用于在字符...
- 年-月-日、月/日/年、电话号码、IP地址等的正则表达式,用于特定格式的数据验证 7. 元字符和其行为: - `\`:转义字符,使特殊字符变为普通字符,如`\d`匹配数字,`\s`匹配空白字符 - `^`:匹配输入字符串的...