PHP 正则的使用基础入门

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效率,提高php性能的一些方法

    优化PHP效率,提高PHP性能的一些方法 PHP作为一种开源语言,通常使用在WEB应用程序中,因为其简单易学、易用、易扩展等特点,已经成为开发人员选择的主流语言之一。然而,由于PHP的动态解释型、简单易学等特点,其性能相对较弱,需要一些方法和技巧来提高性能,使其更快、更有效率地运行。以下是一些优化PHP效率、提高PHP性能的方法: 1. 减少文件包含 在PH…

    PHP 2023年5月23日
    00
  • 十天学会php(2)

    我会从以下几个方面详细讲解“十天学会PHP(2)”的完整攻略: 学习目标 学习内容 学习步骤 示例说明 1. 学习目标 “十天学会PHP(2)”旨在帮助初学者深入学习PHP语言,掌握PHP常用的函数和技巧,掌握PHP面向对象编程的基础知识。 2. 学习内容 “十天学会PHP(2)”包含以下内容: PHP常用函数 PHP高级函数 PHP面向对象编程基础 3. …

    PHP 2023年5月30日
    00
  • PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例

    下面是关于“PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例”的完整攻略: 概述 在PHP开发中,我们通常需要进行字符串转义和还原,以保证输入输出的数据准确性。PHP中提供了两个函数addslashes()和stripslashes(),分别用于实现字符串转义和还原操作。 addslashes()函数 addslas…

    PHP 2023年5月26日
    00
  • php常用字符串查找函数strstr()与strpos()实例分析

    PHP常用字符串查找函数:strstr()与strpos()实例分析 简介 在PHP中,字符串是经常出现的数据类型之一。而字符串常用的操作之一就是查找。在查找字符串中是否包含另一个字符串时,PHP提供了两个常用的函数:strstr()和strpos()。 请注意区分,strstr()和strpos()的返回值有所不同,具体解释见下文分析。 下面我们分别介绍这…

    PHP 2023年5月26日
    00
  • php中怎么搜索相关联数组键值及获取之

    在PHP中,可以使用array_keys()和array_values()函数分别获取数组的键和值,然后使用array_search()函数查找特定的键或值在数组中的位置。以下是具体的步骤: 第一步:创建一个关联数组 首先,我们需要创建一个关联数组,作为实验对象,以便演示如何搜索相关联数组的键值。例如: $students = array( "Jo…

    PHP 2023年5月26日
    00
  • PHP数组操作简单案例分析

    下面是“PHP数组操作简单案例分析”的完整攻略: 1. 什么是PHP数组 在PHP中,数组是一种非常重要的数据类型,它可以用来存储一组相关的值,并且这些值可以按照索引或关联键的方式进行访问。 在PHP中,数组可以分为以下几种类型: 索引数组:给数组中的每个元素分配一个数字索引,并以此作为访问该元素的方式。 关联数组:将一个字符串键值和一个对应的值相关联的一种…

    PHP 2023年5月23日
    00
  • ThinkPHP模板判断输出Empty标签用法详解

    什么是Empty标签? Empty标签是ThinkPHP中常用的一种模板标签,用于判断某个变量是否为空,并可以根据判断结果确定输出不同的内容。Empty标签的使用可以让我们的模板代码更加简洁、高效。 Empty标签的语法 Empty标签的语法如下: <empty name="变量名"> 变量为空时输出的内容 </empt…

    PHP 2023年5月26日
    00
  • PHP 7.4 新语法之箭头函数实例详解

    PHP 7.4 新语法之箭头函数实例详解 在 PHP 7.4 中新增了箭头函数语法,这是一个非常实用的新功能,能够让PHP代码更加简洁易懂。本文主要介绍箭头函数的使用方法和实例。 基本语法 箭头函数与普通的PHP函数语法非常相似,只是在函数名称后面添加“=>”符号来表示这是一个箭头函数,然后可以接着添加函数的参数和函数体。下面是箭头函数的基本语法: (…

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