10个实用的PHP正则表达式汇总

yizhihongxing

下面是对于“10个实用的PHP正则表达式汇总”的详细攻略:

1. 纯数字匹配

如果需要匹配一串纯数字,可以使用\d+来进行匹配。例如:

$str = '12345';
if (preg_match('/^\d+$/', $str)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为字符串$str是一串纯数字。

2. 邮箱匹配

对于常见的邮件地址格式,可以使用正则表达式/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/进行匹配。例如:

$email = 'example@example.com';
if (preg_match('/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/', $email)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$email符合常见邮箱的格式要求。

3. URL 匹配

需要匹配 URL 地址时,可以使用正则表达式/^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/。例如:

$url = 'http://www.example.com';
if (preg_match('/^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/', $url)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$url是一个有效的 URL 地址。

4. 手机号匹配

手机号的正则表达式因地区而异,以下是通用格式的正则表达式:/^1[3456789]\d{9}$/。例如:

$phone = '13912345678';
if (preg_match('/^1[3456789]\d{9}$/', $phone)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$phone符合中国大陆手机号的格式要求。

5. IP 地址匹配

针对 IP 地址的匹配,可以使用正则表达式/^((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)$/。例如:

$ip = '192.168.1.1';
if (preg_match('/^((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)$/', $ip)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$ip是一个有效的 IP 地址。

6. HTML 标签匹配

需要提取 HTML 标签时,可以使用正则表达式/<[^>]+>/进行匹配。例如:

$html = '<p>这是一段 HTML 标签</p>';
if (preg_match('/<[^>]+>/', $html, $matches)) {
    var_dump($matches[0]);
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,输出'<p>',因为$html中包含 HTML 标签。

7. 时间字符串匹配

对于常见的时间字符串,可以使用正则表达式/^(([01][0-9])|(2[0-4])):[0-5][0-9](:[0-5][0-9])?$/进行匹配。例如:

$time = '12:20';
if (preg_match('/^(([01][0-9])|(2[0-4])):[0-5][0-9](:[0-5][0-9])?$/', $time)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$time是一个有效的时间字符串。

8. 身份证号码匹配

针对中国大陆身份证号码的匹配,可以使用正则表达式/^\d{15}(\d{2}[\dx])?$/。例如:

$id = '110101199001019123';
if (preg_match('/^\d{15}(\d{2}[\dx])?$/', $id)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$id是一个有效的身份证号码。

9. 中文字符匹配

需要匹配中文字符时,可以使用正则表达式/^[\x{4e00}-\x{9fa5}]+$/u。例如:

$chinese = '中文';
if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $chinese)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$chinese包含了中文字符。

10. 科学计数法匹配

需要匹配科学计数法时,可以使用正则表达式/^[-+]?[0-9]+\.?[0-9]*[eE][-+]?[0-9]+$/。例如:

$value1 = '1.23e-6';
$value2 = '1E+3';
if (preg_match('/^[-+]?[0-9]+\.?[0-9]*[eE][-+]?[0-9]+$/', $value1) && preg_match('/^[-+]?[0-9]+\.?[0-9]*[eE][-+]?[0-9]+$/', $value2)) {
    echo '匹配成功';
} else {
    echo '匹配失败';
}

这段代码能够匹配成功,因为$value1$value2都是由科学计数法表示的数字。

希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:10个实用的PHP正则表达式汇总 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 饿了么用户名怎么修改 手机版饿了么修改用户名方法

    饿了么用户名如何修改:手机版饿了么修改用户名方法 背景介绍 饿了么是一款在线外卖平台,已经成为中国最大的本地生活服务平台之一。很多人在使用饿了么的过程中,可能会碰到需要修改用户名的情况,比如想要更换昵称或者将自己的真实姓名用于注册。本文将详细介绍如何在手机版饿了么上修改用户名。 修改用户名的流程 在修改饿了么的用户名之前,需要先下载饿了么App,然后进入个人…

    other 2023年6月27日
    00
  • springboot修改上传文件(图片等)的默认大小

    Spring Boot修改上传文件(图片等)的默认大小攻略 在Spring Boot应用程序中,上传文件(例如图片)时,可能会遇到默认上传文件大小限制的问题。本攻略将介何修改Spring Boot应用程序的默认上传文件大小限制,并提供两个示例。 修改默认上传文件大小限制 Spring Boot应用程序的文件大小限制为1MB。如果要上传更大的文件,需要修改应用…

    other 2023年5月9日
    00
  • Golang 运算符及位运算详解

    Golang 运算符及位运算详解攻略 在 Golang 中,有许多种运算符和位运算符,使用这些运算符可以实现对数值的不同操作,在编写代码时非常常见。在本文中,我们将详细讲解 Golang 中的运算符和位运算符,以及它们的使用方法和示例。 基本运算符 算术运算符 在 Golang 中,常见的算术运算符有 +、-、*、/ 和 %。 + 用于两个数值的相加、-用于…

    other 2023年6月27日
    00
  • Python变量的作用域详解

    Python变量的作用域详解 在Python中,变量的作用域指的是变量在程序中的可见性和访问范围。了解变量的作用域对于编写可维护和可理解的代码非常重要。本攻略将详细讲解Python中的变量作用域。 全局作用域 全局作用域是指在整个程序中都可见的变量。在函数外部定义的变量属于全局作用域。这意味着这些变量可以在程序的任何地方访问。 示例1: x = 10 # 全…

    other 2023年7月29日
    00
  • 没有竞品 紫光展锐推出超强算力AIoT解决方案 V5663

    紫光展锐推出超强算力AIoT解决方案 V5663 最近,紫光展锐推出了一款超强算力AIoT解决方案 V5663,不仅拥有高性能、高效率的特点,而且具备可塑性强、广泛适用的特点。以下是详细的攻略,希望对您有所帮助。 什么是V5663? V5663是紫光展锐推出的一款集成了高性能CPU、GPU和AI加速器的AIoT解决方案,可以用于物联网、智能制造、智能家居等多…

    other 2023年6月26日
    00
  • docker菜鸟入门

    Docker菜鸟入门 什么是Docker? Docker是一个开源的容器化平台,可以让你将你的应用程序和依赖项打包成一个可移植的容器,然后在任何 Docker 容器运行时环境上运行这个容器。通过使用 Docker,你可以确保你的应用程序在不同的环境和平台上运行一致,而不需要担心因为不同的环境和平台而出现的问题。 Docker的优势 便携性:Docker容器可…

    其他 2023年3月28日
    00
  • jQuery给元素添加样式的方法详解

    jQuery给元素添加样式的方法详解 1. 使用css()方法 css()方法是jQuery中常用的方法,用于给元素添加样式。它可以接受一个CSS属性及其值的键值对,并将其应用于选中的元素。 语法: $(selector).css(property, value); selector:用于选择元素的jQuery选择器。 property:CSS属性的名称。 …

    other 2023年6月28日
    00
  • Java中StringBuilder与StringBuffer使用及源码解读

    Java中StringBuilder与StringBuffer使用及源码解读 StringBuilder与StringBuffer的概述 StringBuilder与StringBuffer是Java中两个非常常用的字符串拼接工具,在处理大量字符串拼接时,它们相比于String的”+”连接符表现更加出色。 这两个类都继承自AbstractStringBuil…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部