首页 > 编程语言 >【php基础】正则表达式04

【php基础】正则表达式04

时间:2023-09-16 23:47:12浏览次数:38  
标签:字符 匹配 数字 04 正则表达式 规则 字符串 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  =>  正则表达式中的空白字符会被忽略

标签:字符,匹配,数字,04,正则表达式,规则,字符串,php
From: https://www.cnblogs.com/xfbk/p/17707548.html

相关文章

  • 【php基础】php连接mysql数据库及基本操作02
    一、php连接mysql数据库<?php$servername="localhost";$username="root";$password="root";$dbname="mysql";//创建连接$conn=newmysqli($servername,$username,$password,$dbname);//检测连接i......
  • 米联客MLK-CU01-040-060 AMD UltraScale核心模块硬件手册
    1整体概述MLK-CU01-040-060核心模块是米联客电子KintexUltraScale系列开发平台的全新高端产品。其核心模块集成电源管理:0.95V核心电源,最大输出24A。用户基于核心模块设计功能底板(提供功能底板设计方案)。降低项目功能底板设计难度和生产成本,加速项目开发。其应用领域包含高速通......
  • python 正则表达式之 怎么匹配一对中括号 [ ]
    ----------------------------------------------------------------------------------------在正则表达式中,前中括号[属于特殊字符,要匹配它,需要转义,那就加上转义字符\来进行转义,即加上\res=re.findall(r"\[[\dA-Z]*]",'AAAA[CEBT905A1B6A]/#')print(res)------[......
  • 模块都补充、软件开发目录规范、正则表达式
    名字查找顺序所谓的查找顺序就是在运行代码的时候调用的优先级,这里分成三个优先级:1.内存这里可以举一个极端一点的例子,就是我们引入一个模块,然后在引入代码后使用time.sleep停个十几秒,在停止的时间内我们直接把导入的模块文件删除,接下来继续让代码执行模块内的函数或引用变量名......
  • 关于jsp借助WebServlet注解跳转到对应的servlet,表示界面404,且注解在前端界面不被识别
    问题描述我是属于那种习惯了使用其他框架之后,且,好久没有写过javaweb了,就忘记了jsp/html前端界面通过WebServlet注解跳转到servlet的方法,就这么一个破问题!!!坑了我一下午!!问题解决起初我还以为是servlet-api的依赖没有导入进去,发现早就在pom.xml文件里面好好地躺着了;当然,从始至终......
  • nio---io区别 20230403
    文件的抽象化表示,字节流以及字符流的文件操作等属于传统IO的相关内容,我们已经在前面的文章进行了较为深刻的学习了。但是传统的IO流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致CPU使用效率大大降低。所以,jdk1.4发布了NIO包,NIO的文件读写设计颠覆了传统I......
  • 10422电子商务运营管理
     第一章、电子商务概述 第二章、电子商务的基本模型 第三章、电子商务基础设施 第四章、电子商务安全技术 第五章、电子支付及电子货币 第六章、电子商务玉物流 第七章、EDI1、EDI组成三要素:通信网络(实现的基础)、由计算机硬件和软件组成(应用环境)、EDI标准......
  • GYM104090A Modulo Ruins the Legend - exgcd -
    题目链接:https://codeforces.com/gym/104090/problem/A题解:转化一下发现只需要求满足下式的解:\[ns+\dfrac{n\times(n+1)}{2}d\equivC(\bmodm)\]设\(a=n,b=\dfrac{n(n+1)}{2},p=gcd(a,b)\)即找到一组\((s',d',t')\)使得\(as'+bd'+mt'=C\)考虑\(a......
  • apache下php获取不到Authorization
    主要情况为apache配置文件httd.conf缺少相关配置。在配置文件中找到IfModuledir_module标签,在其中添加SetEnvIfAuthorization.+HTTP_AUTHORIZATION=$0 <IfModuledir_module>DirectoryIndexindex.phpindex.htmlSetEnvIfAuthorization.+HTTP_AUTHORIZATION=......
  • 米联客MLK-CK04 AMD FPGA核心模块硬件手册
    1产品概述MLK-CK04-7K325是米联客电子H系列开发平台的全新高端产品。其核心模块集成电源管理:KintexMLK-CK04-7K325:1.0V核心电源,最大输出24A。用户基于核心模块设计功能底板(提供功能底板设计方案)。降低项目功能底板设计难度和生产成本,加速项目开发。其应用领域包含高速通信;机......