PHP 正则的使用基础入门

yizhihongxing

PHP 正则表达式是一种强大的工具,它可以用来匹配、查找和替换字符串。在PHP中,可以使用preg函数库来进行正则匹配。下面是PHP正则表达式的使用基础入门攻略。

正则表达式语法

正则表达式语法由一系列字符和元字符(符号)组成。其中常用的元字符包括:

  • .:匹配任意字符
  • ^:匹配行首(以此符号后面的字符为行首)
  • $:匹配行尾(以此符号前面的字符为行尾)
  • *:匹配任意次数的前面的字符
  • +:匹配至少一次的前面的字符
  • ?:匹配零次或一次前面的字符
  • {n}:匹配前面的字符n次
  • {n,}:匹配前面的字符至少n次
  • {n,m}:匹配前面的字符至少n次,但不超过m次
  • []:匹配方括号中的任意一个字符
  • |:或的意思,匹配符号左边或右边的内容
  • ():匹配括号中的内容,并记住所匹配的结果
  • \d:匹配任意数字,相当于[0-9]
  • \w:匹配任意字母、数字、下划线,相当于[a-zA-Z0-9_]
  • \s:匹配任意空白字符,包括空格、制表符、换行符等等
  • \D:匹配任意非数字字符,相当于[^0-9]
  • \W:匹配任意非单词字符,相当于[^a-zA-Z0-9_]
  • \S:匹配任意非空白字符

preg函数库

在PHP中,可以使用preg函数库来进行正则表达式的匹配。使用preg函数需要掌握以下几个函数:

  • preg_match($pattern, $subject):尝试从subject中匹配pattern指定的正则表达式。如果匹配成功,返回1;否则返回0。
  • preg_match_all($pattern, $subject, $matches):尝试从subject中匹配所有符合pattern指定的正则表达式。如果匹配成功,返回匹配到的次数,并将结果存入matches数组中。
  • preg_replace($pattern, $replacement, $subject):在subject中查找pattern,并用replacement替换匹配到的内容。

示例一

下面是一个简单的示例,用正则表达式来验证邮箱地址的格式是否正确:

$email = "user@example.com";
if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) {
    echo "邮箱格式正确";
} else {
    echo "邮箱格式不正确";
}

运行结果:

邮箱格式正确

上面的正则表达式解释如下:

  • /:正则表达式必须以斜杠开始和结束;
  • ^:匹配行首;
  • [a-zA-Z0-9._%+-]+:匹配任意字母、数字、下划线、百分号、加号、减号、点号的至少一次出现(邮箱用户名);
  • @:匹配@字符;
  • [a-zA-Z0-9.-]+\.:匹配任意数字、字母、点号、短横线的至少一次出现,再加上一个点号(邮箱域名);
  • [a-zA-Z]{2,}:匹配至少两个字母的邮箱后缀。

示例二

下面是一个示例,使用正则表达式来替换HTML中的图片链接:

$html = '<img src="example.jpg">
         <img src="another_example.png">';
$new_html = preg_replace("/<img src=\"(.*?)\">/","<img src=\"http://example.com/$1\">",$html);
echo $new_html;

运行结果:

<img src="http://example.com/example.jpg">
<img src="http://example.com/another_example.png">

上面的正则表达式解释如下:

  • /:正则表达式必须以斜杠开始和结束;
  • <img src=\":匹配<img src="这个字符串;
  • (.*?):匹配任意字符,包括空白字符,至少出现一次,尽可能少地匹配;
  • ">:匹配">这个字符串。

使用$1表示替代字符串中第一个子组(即匹配到的图片链接)。这里的$1表示在这个位置插入匹配到的内容。

以上就是正则表达式的基础入门攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP 正则的使用基础入门 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHP之sprintf函数用法详解

    PHP之sprintf函数用法详解 简介 sprintf函数是PHP语言中一个强大的格式化输出函数。它可以用于将一个字符串格式化输出为你所需要的样式并返回这个字符串。 基本语法 sprintf函数的基本语法如下: sprintf(string $format, mixed $args, …): string; 其中,$format参数为格式化字符串,$a…

    PHP 2023年5月26日
    00
  • 基于PHP实现用户注册登录功能

    下面是基于PHP实现用户注册登录功能的完整攻略: 1. 确定需求 在开始实现用户注册登录功能之前,首先需要明确应用程序的需求。通常包括以下几个方面: 用户能够在应用程序中注册新账户 已注册的用户能够使用账户登录应用程序 在用户登录后,能够显示相关的个人信息或操作选项 在用户注册或登录时,应用程序需要验证用户提供的凭据(比如账户名和密码等) 2. 数据库设计 …

    PHP 2023年5月27日
    00
  • 使用php重新实现PHP脚本引擎内置函数

    要使用 PHP 重新实现 PHP 脚本引擎内置函数,可以遵循以下步骤: 阅读 PHP 官方文档,了解要实现的内置函数的工作原理和用途。然后,可以编写 PHP 代码模仿这些内置函数的行为。 使用PHP的扩展机制,将实现的代码打包成扩展,以供 PHP 引擎加载。PHP 5 及以上版本支持 Zend 引擎的扩展机制,有助于更轻松地使用C实现功能拓展。此外,PECL…

    PHP 2023年5月27日
    00
  • W3C是什么意思 W3C标准简介

    W3C是什么意思? W3C是World Wide Web Consortium的首字母缩写,中文名为“万维网联盟”。W3C是一个国际性的标准组织,负责制定Web标准,是Web技术的指导和推荐者。W3C由Web发明人Tim Berners-Lee于1994年创建,总部位于法国南部尼斯市,拥有来自全球各地的会员组织,包括公司、政府部门和领先的Web发展机构等。 …

    PHP 2023年5月27日
    00
  • Windows服务器中PHP如何安装redis扩展

    Windows服务器中PHP安装Redis扩展的步骤如下: 下载php_redis.dll文件 首先,需要从官方渠道下载适合当前PHP版本的php_redis.dll文件,下载网址为https://windows.php.net/downloads/pecl/releases/redis/5.3.4/ 在下载页面中,需要根据当前PHP版本和处理器架构,选择对…

    PHP 2023年5月23日
    00
  • 微信小程序使用wxParse解析html的方法示例

    微信小程序使用wxParse解析html的方法示例 什么是wxParse wxParse是一款微信小程序富文本解析组件,可以将HTML、Markdown等格式的文本解析为小程序可显示的文本内容,支持图片,视频等多媒体内容,并且支持自定义样式。wxParse支持多种富文本类型,包括HTML,Markdown,LaTeX等,是小程序中处理富文本内容的首选解决方案…

    PHP 2023年5月23日
    00
  • PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】

    首先,我们需要下载并安装imagick扩展,可以在官方网站(https://pecl.php.net/package/imagick)上下载对应版本的imagick扩展,然后通过php.ini文件或者其他方式来加载扩展。 接下来,我们就可以使用imagick扩展来实现合成图片的两种方法: 方法一:使用canvas 我们可以使用canvas方法来创建一个新的画…

    PHP 2023年5月26日
    00
  • 编写安全 PHP应用程序的七个习惯深入分析

    “编写安全 PHP应用程序的七个习惯深入分析”是用来指导开发人员如何编写更加安全可靠的 PHP 应用程序的系列习惯。下面是这个攻略的完整流程: 1. 加强输入数据验证 在 PHP 应用程序中,用户提供给应用程序的所有数据都需要验证。对用户输入的数据进行输入验证,可避免大多数常见的攻击,如 SQL 注入、XSS 攻击等。确保验证输入数据的正确性和完整性是保证应…

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