广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >如何理解php的正则表达式
  • 421
分享到

如何理解php的正则表达式

2024-04-02 19:04:59 421人浏览 安东尼
摘要

如何理解PHP的正则表达式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、通用原子:\d : 数字。 \D : 除了数字。\

如何理解PHP正则表达式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、通用原子:

    \d : 数字。 \D : 除了数字。

    \w : 数字,字母,下划线。\W : 除了数字,字母,下划线。

    \s : 空白符 。 \S : 除了空白符 。

    2、元字符:

      . :除了换行以外的所有字符

      * : 匹配前面的内容出现 0 次及以上。

      ? :匹配前面的内容出现 0 次或 1 次

      + : 出现一次或多次。

      ^ : 必须以它开头。

      $ : 必须以它结尾。

      {n} : 恰巧出现 n 次。

      {n,} : 大于等于 n 次。

      {n,m} : 大于等于 n, 小于等于 m.

      [] : 是一个集合,匹配中括号中的任意一个字符,如:[abc]即为匹配a或b或者c。

      () : 后项引用或者是当做一个整体。

      [^]:取反。

      | : 或者

      [-] : 代表一个范围,如[0-9],匹配即为 0123456789

      3、模式修正符

        i:不区分大小写

        m:将字符串通过分隔符进行分割,将字符串中的每一行分别进行匹配。

        e: 将匹配出来的内容做一些php语法上的处理。

        s: 修正 "." 的换行。

        U: 取消贪婪模式

        x: 忽略模式中的空白符。

        A: 必须以这个模式开头。

        D: 修正 "$" 对 "\n" 的忽略。

        u: 做 utf-8 中文匹配的时候使用。

        g:该表达式可以进行全局匹配。

        示例:

        现在需要正则验证一个input框,我想输入的是非整数就自动变成空值。

        正则如下;

        #不加入/g,则只返回第一个匹配,无论执行多少次均是如此,如果加入g,则第一次执行也返回第一个匹配,再执行返回第二个匹配,依次类推。#/[^0-9]/g,这个正则表达式的意思是全局匹配非数字类型和非-的字符。/[^0-9|-]/g

        匹配到该正则后,就将input的值置空即可。

        二、后项引用

        如果想只去除掉b标签,只保留里面的字符串,这里就需要用到后项引用。怎么样后项引用呢,就是将.* 括起来,然后在匹配的时候,写上\1,\1 代表第一个括号里面匹配到的内容,当然为了防止 \ 将 1 转义掉,所以我们使用\\1 .

        三、贪婪模式

        我们这是想匹配到每一个 b 标签,即<b>abc</b><b>bcd</b>,

        //如果使用下面的正则来匹配的话,会匹配出<b>abc</b><b>bcd</b>.$pattern='/<b>.*<\/b>/';

        所以此处我们要使用.*?来取消贪婪,?代表匹配前面的内容 0 次或者 1次。

        //正则表达式改为$pattern='/<b>.*?</b>/';//当然取消贪婪还有一种写法:就是在后面加上一个U,即:$pattern='/<b>.*</b>/U';

        但是切记不能 .*? 和 U 一起用

        四、延伸重点

        1、常见PCRE函数

        2、中文匹配

        示例:

        $str = '中文';

        a、使用utf-8匹配中文:

        $pattern='/[\x{4e00}-\x{9fa5}]+/u';

        b、使用GB2312匹配中文:

        $pattern='/['.chr(0xb0).'-'.chr(0xf7).']['.chr(0xa1).'-'.chr(0xfe).']/';preg_match($pattern,$str,$match);

        3、写正则表达式的思路

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网PHP编程频道,感谢您对编程网的支持。

--结束END--

本文标题: 如何理解php的正则表达式

本文链接: https://www.lsjlt.com/news/61808.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解php的正则表达式
    如何理解php的正则表达式,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、通用原子:\d : 数字。 \D : 除了数字。\...
    99+
    2022-10-18
  • 如何理解JavaScript正则表达式
    如何理解JavaScript正则表达式,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、正则表达式创建var reg = /test/;var reg = new RegExp...
    99+
    2023-06-02
  • 如何理解Python的正则表达式
    今天就跟大家聊聊有关如何理解Python的正则表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python正则表达式!前面也有跟大家分享关于正则表达式的Python学习教程,但是...
    99+
    2023-06-02
  • 如何理解PHP正则表达式函数库
    如何理解PHP正则表达式函数库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。浅析PHP正则表达式函数库是什么呢?这里向你介绍了PHP正则表达式函数库(POSIX...
    99+
    2023-06-17
  • 理解python正则表达式
    在python中,对正则表达式的支持是通过re模块来支持的。使用re的步骤是先把表达式字符串编译成pattern实例,然后在使用pattern去匹配文本获取结果。 其实也有另外一种方式,就是直接使用re模块...
    99+
    2022-06-04
    正则表达式 python
  • PHP正则表达式
    什么是正则表达式? 正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文 正则表达...
    99+
    2023-09-02
    正则表达式 php 前端
  • 如何理解PHP正则表达式的应用实例
    这篇文章将为大家详细讲解有关如何理解PHP正则表达式的应用实例,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。PHP正则表达式的应用有很多,那么我们在实际开发应用中会遇到提取字符串、高级的代换...
    99+
    2023-06-17
  • JavaScript高级正则表达式如何理解
    这篇文章将为大家详细讲解有关JavaScript高级正则表达式如何理解,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript高级正则表达式1.正则表达式概述1.1什么是正则表达式...
    99+
    2023-06-26
  • js正则表达式和php正则表达式有什么区别
    本教程操作环境:Windows10系统、javascript1.8.5&&PHP7.1版、Dell G3电脑。js正则表达式和php正则表达式有什么区别总体上,PHP的正则比标准javascript的要强大。PHP有两套正则...
    99+
    2017-12-02
    JavaScript PHP
  • js正则表达式和php正则表达式有哪些区别
    这篇文章主要介绍了js正则表达式和php正则表达式有哪些区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇js正则表达式和php正则表达式有哪些区别文章都会有所收获,下面我们一起来看看吧。区别:1、PHP正则表...
    99+
    2023-06-29
  • C#正则表达式怎么理解
    这篇文章主要讲解了“C#正则表达式怎么理解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#正则表达式怎么理解”吧!到目前为止,许多的编程语言和工具都包含对正则表达式的支持,当然.NET也不...
    99+
    2023-06-17
  • 怎么理解javascript正则表达式
    本篇内容主要讲解“怎么理解javascript正则表达式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解javascript正则表达式”吧!javascr...
    99+
    2022-10-19
  • 怎样理解JavaScript 正则表达式
    今天就跟大家聊聊有关怎样理解JavaScript 正则表达式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 正则表达式创建JavaScript 有两种方式创建正则表达式:第一种:...
    99+
    2023-06-25
  • PHP中如何处理正则表达式错误?
    PHP中如何处理正则表达式错误?正则表达式在PHP中是一个强大而灵活的工具,它可以用来匹配、搜索、替换以及验证字符串。但是,有时候我们在编写正则表达式时会犯一些错误,这篇文章将介绍如何在PHP中处理正则表达式错误,并给出具体的代码示例。处理...
    99+
    2023-12-09
    - PHP错误处理 - 正则表达式处理 - PHP正则表达式错误处理
  • Python中使用正则表达式及正则表达式匹配规则详解
    目录1 导库2 使用模板3 说明4 示例5 正则表达式匹配规则1 导库 import re 2 使用模板 re_pattern = re.compile(pattern, flags...
    99+
    2023-03-22
    Python正则表达式匹配规则 Python正则表达式
  • Python3的正则表达式详解
    目录1.简介2.切分字符串3.分组4.贪婪匹配5.编译总结1.简介 # 正则表达式:用来匹配字符串的武器; # 设计思想:用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符...
    99+
    2022-11-13
  • PHP中正则表达式如何使用
    本篇文章为大家展示了PHP中正则表达式如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP正则表达式的定义:用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及...
    99+
    2023-06-17
  • Python 正则表达式详解
    目录1.正则表达式是什么2.1用正则表达式2.2匹配原理2.3常用函数总结1.正则表达式是什么 很简单就是一种字符串匹配,eg: 比如你在注册账户时我们需要对用户的用户名判断是否合法...
    99+
    2022-11-12
  • JavaScript 正则表达式详解
    目录1. 正则表达式创建2. 使用模式2.1 使用简单模式2.2 使用特殊字符3. 应用3.1 切分字符串3.2 分组3.3 贪婪匹配3.4 正则表达式标志3.5 test() 方法...
    99+
    2022-11-12
  • Ruby正则表达式详解
    目录Ruby 正则表达式语法实例正则表达式修饰符正则表达式模式 正则表达式实例字符 字符类 特殊字符类 重复 非贪婪重复 ...
    99+
    2023-05-15
    Ruby 正则表达式 Ruby 正则表达式详解 Ruby 正则表达式实例
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作