后端基础PHP—正则表达式

1、正则表达式的介绍

2、正则表达式的语法


一、正则表达式的介绍

  正则表达式的介绍

  · 正则表达式,又称规则表达式,通过一种特殊的语言来挑选符合条件的数据

  · 在代码中简写,regex、regexp、RE

  · 计算机科学的一个概念,通常被用来检索、替换那些符合某个模式(规则)的文本

  正则表达式的特点

  · 灵活性、逻辑性和功能性非常强

  · 可以迅速地用极简的方式达到字符串的复杂控制

  · 入门较困难,熟悉之后较容易

  正则表达式的用途

  · 判断字符串是否符合某一规则(判断手机号、邮箱规则)

  · 从一个字符串中找出符合规则的所有字符串(取HTML标签名)

  正则表达式使用小规则

  PHP中使用正则规则一定要加代表正则的标识 =>  //

  preg_match_all (正则表达式、匹配字符串、匹配到的东西放入数组)

  返回匹配到的次数

二、正则表达式的语法

  正则表达式的语法—字符

  常用转义符

  · /d  数字  匹配数字

  · /D  非数字  匹配除数字以外的所有东西

  · /s  空白符 (空格符、制表符、换页符)

  · /S  非空白字符

  · /w  单词字符(26个英文字母+数字+下划线)

  · /W 非单词字符

  自定义字符结合

  字符合集:[单个字符或字符区间],用于匹配集合内字符合集

  eg:[a-z] 表示这26个小写字母

    $a=preg_match_all('/[a-z]/','hslfhufh84j');

    var_dump($a);

    => string(9)

    [0-9a-z] 表示0-9这10个数字和a-z这26个小写字母

    [135a-h] 表示包含数字1,3,5和字母a-h这8个小写字母

  · ^ 非集

    [^0-9] 表示匹配所有非数字字符

    [^a-zA-Z] 表示匹配所有非字母字符

  正则表达式的语法—关键字

  ·  ()  =>  和数字一样,代表这是一个整体 

  ·  ^  =>  匹配 输入字符串的第一个字符

  ·  $  =>  匹配输入字符串的最后一个字符

  ·  .   =>  通配符[代表任意字符][不匹配换行]

  ·  *  =>  匹配0次或者多次

  ·  +  =>  匹配1次或者多次

  ·  \  =>  转义字符

  ·  |  =>  两项之间选择一个,类似or

  限定符

  · {n}  =>  eg:0{8}  意思是指只有连起来的8个零才能被匹配到

  · {n,}  =>  eg:0{2,}  意思是指只要有两个零以上就会被匹配到

  · {n,m}  =>  eg:0{2,4}  意思是指最少匹配2个0,最多匹配4个0

  Ps:被匹配时,默认匹配最多的次数

  修饰符

  · /i  => 不区分大小写

  · /A  =>  匹配规则必须从头开始匹配

  · /s  =>  将匹配一切字符

  · /x  =>  正则表达式中的空白字符会被忽略

  

后端基础PHP—正则表达的更多相关文章

  1. Python学习之路——迭代器、生成器、算法基础、正则

    一.迭代器: 迭代器是访问集合元素的一种方式. 迭代器对象是从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退. 另外,迭代 ...

  2. Python之面向对象和正则表达(代数运算和自动更正)

    面向对象 一.概念解释 面对对象编程(OOP:object oriented programming):是一种程序设计范型,同时也是一种程序开发的方法,实现OOP的程序希望能够在程序中包含各种独立而又 ...

  3. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  4. HttpGet协议与正则表达

    使用HttpGet协议与正则表达实现桌面版的糗事百科   写在前面 最近在重温asp.net,找了一本相关的书籍.本书在第一章就讲了,在不使用浏览器的情况下生成一个web请求,获取服务器返回的内容.于 ...

  5. js正则表达test、exec和match的区别

    test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...

  6. 正则表达示 for Python3

    前情提要 从大量的文字内容中找到自己想要的东西,正则似乎是最好的方法.也是写爬虫不可缺少的技能.所以,别墨迹了赶紧好好学吧! 教程来自http://www.runoob.com/python3/pyt ...

  7. JS写法 数值与字符串的相互转换 取字符中的一部分显示 正则表达规则

    http://www.imooc.com/article/15885 正则表达规则 <script type="text/javascript"> </scrip ...

  8. shell正则表达

    shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直 ...

  9. python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)

    1,正则表达提取 (findall函数提取) import re a= "<div class='content'>你大爷</div>"x=re.finda ...

  10. grep 正则表达

    常见的 grep 正则表达参数 -c # 显示匹配到得行的数目,不显示内容 -h # 不显示文件名 -i # 忽略大小写 -l # 只列出匹配行所在文件的文件名 -n # 在每一行中加上相对行号 -s ...

随机推荐

  1. Python中os.walk函数说明

    这个函数对于文件方面的遍历等其他方面的操作来说功能很强大,比如批量修改文件名.批量移动文件.将所有不在一个文件夹下的文件移动到同一个文件夹下等等. 这个其实很简单的,用一个示例就能明白这个函数的具体用 ...

  2. 解决每次 git pull/push 时都需要输入账号和密码的问题

    问题 在提交代码或者拉取代码的时候,如果每次git都要输入用户名密码 解决方法 1. 终端输入 git config --global credential.helper store 2. 在git ...

  3. 二进制安装Kubernetes(k8s) v1.27.3 IPv4/IPv6双栈 可脱离互联网

    二进制安装Kubernetes(k8s) v1.27.3 IPv4/IPv6双栈 可脱离互联网 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star ...

  4. JS 记一次工作中,由深度优先到广度优先的算法优化

    壹 ❀ 引 坦白的说,本人的算法简直一塌糊涂,虽然有刷过一段时间的算法题,但依然只能解决不算复杂的问题,稍微麻烦的问题都只是站在能不能解决问题的角度,至于性能优化,算法方法的选择并没有过于深刻的理解. ...

  5. NC15434 wyh的迷宫

    题目链接 题目 题目描述 给你一个n*m的迷宫,这个迷宫中有以下几个标识: s代表起点 t代表终点 x代表障碍物 .代表空地 现在你们涵哥想知道能不能从起点走到终点不碰到障碍物(只能上下左右进行移动, ...

  6. [WPF] MediaElement播放HDR视频泛黄、颜色显示不正确应该如何解决?

    当我们在使用MediaElement控件播放HDR视频时会遇到颜色发灰.泛黄的情况,难道是因为控件做的有问题? 其实并不是程序问题,只是我们普通的应用程序工作在8bit色深的环境中,而HDR色深为10 ...

  7. win32 - IFileDialog接口的使用

    官方示例: CommonFileDialogModes.cpp 如果我们想要自己创建一个通用的文件对话框,则可以使用IFileOpenDialog接口,代码参考: HRESULT BasicFileO ...

  8. 服务端高性能网络IO编程模型简析

    服务端高性能网络IO编程模型简析 一.客户端与服务器端 多数网络应用可以分为客户端(client)和服务器端(server)模型,然后中间通过各种定义的协议来进行两端的通信. 比如常用的 Nginx ...

  9. r0capture 原理分析

    r0capture 是比较好用的抓包工具 仅限安卓平台,测试安卓7.8.9.10.11.12 可用 : 无视所有证书校验或绑定,不用考虑任何证书的事情: 通杀TCP/IP四层模型中的应用层中的全部协议 ...

  10. InSAR处理软件——Gamma 安装教程

    Gamma是由瑞士 GAMMA Remote Sensing 公司开发SAR数据处理软件,支持SAR数据全流程处理,是最InSAR最常用的软件.下面介绍该软件的安装流程,安装环境为Ubuntu16.0 ...