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

下面是对于“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日

相关文章

  • React生命周期方法之componentDidMount的使用

    React生命周期方法之componentDidMount的使用 在React中,组件的一个实例从创建到销毁,整个过程都被称作组件的生命周期。React提供了一系列的生命周期方法,可以在组件的不同阶段执行不同的逻辑,比如初始化数据、访问外部数据源、操作DOM等。 其中,componentDidMount是React组件的生命周期方法之一。它在组件挂载后执行,…

    other 2023年6月27日
    00
  • 魔兽世界更新卡初始化怎么办 卡初始化及hosts文件修改方法

    当魔兽世界卡在初始化界面时,可能是因为您的hosts文件没有正确配置,或者是blizzard更新服务器出现问题。下面将详细介绍魔兽世界卡初始化的问题原因以及解决方法。 一、问题原因 Host 文件未正确配置:魔兽世界更新器需要访问 blizzard 更新服务器才能更新游戏。在国内,由于 GFW 的存在,可能需要通过修改 Host 文件以实现通过 VPN 访问…

    other 2023年6月20日
    00
  • java-如何用stringutils.equals替换所有string.equals

    以下是“Java中如何用StringUtils.equals替换所有String.equals”的完整攻略: Java中使用StringUtils.equals替换所有String.equals 在Java中,我们经常需要比较两个字符串是否相等。通常情况下,我们使用String.equals方法来比较。但是,如果我们需要比较多个字符串,使用String.eq…

    other 2023年5月8日
    00
  • 如何在kotlin中检查“instanceof”类?

    以下是关于“如何在Kotlin中检查‘instanceof’类?”的完整攻略,包含两个示例说明。 如何在Kotlin中检查“instance”类? 在Kotlin中,我们可以使用is关字来检查一个对象是否是某个类的实例。这个关键字类于Java中的instanceof关键字。在本攻略中,我们将介绍如何在Kotlin中检查一个对象是否是某个类的实例。 1. 使用…

    other 2023年5月9日
    00
  • iOS开发中常见的项目文件与MVC结构优化思路解析

    iOS开发中常见的项目文件与MVC结构优化思路解析 前言 在iOS开发中,我们经常会使用MVC来组织我们的项目结构。但是,当项目越来越复杂的时候,MVC的设计模式就会变得越来越麻烦,我们需要更好的优化和设计来帮助我们更好的维护和开发我们的应用程序。这篇文章将详细讲解iOS常见的项目文件和MVC结构,并提供优化思路,以帮助您更好地组织和管理您的iOS应用程序。…

    other 2023年6月26日
    00
  • 批处理入门手册之批处理常用DOS命令篇(find findstr)

    下面是“批处理入门手册之批处理常用DOS命令篇(find findstr)”的完整攻略: 批处理入门手册之批处理常用DOS命令篇(find findstr) 1. 命令介绍 1.1 find命令 find命令是Windows命令行下的查找工具,可以用来在指定文件中查找包含指定字符串的行,并将匹配的行输出到命令行窗口。 1.2 findstr命令 findst…

    other 2023年6月26日
    00
  • 苹果iOS10.3.3正式版固件更新发布 iOS10.3.3正式版固件下载地址大全

    苹果iOS10.3.3正式版固件更新发布攻略 1. 简介 苹果公司发布了iOS10.3.3正式版固件更新,该更新修复了一些安全漏洞和稳定性问题。本攻略将详细介绍如何更新iOS10.3.3固件,并提供下载地址。 2. 更新步骤 请按照以下步骤更新您的设备到iOS10.3.3正式版固件: 备份数据:在进行任何系统更新之前,建议您先备份设备中的重要数据。您可以使用…

    other 2023年8月4日
    00
  • arcgisearth(原谷歌地球)如何获取高精度矢量地图数据?

    ArcGIS Earth获取高精度矢量地图数据攻略 ArcGIS Earth是一款功能强大的三维地球浏览器,可以用于浏览、分析和共享地理空间数据。本攻略将介如何使用ArcGIS Earth获取精度矢量地图数据。 步骤1:选择数据源 ArcGIS Earth支持多种数据源,包括Arc Online、ArcGIS Enterprise、W、WMTS等。在获取高精…

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