PHP 2.正规表达式

一、常用函数学习

1.preg_match与preg_match_all函数

两个函数都有三个参数preg_match(正则规则,目标字符串或是数组,结果字符串或是数组);返回值为查询次数

两者区别:preg_match 查询到一次结果就不在查询了,返回的查询次数为1

preg_match_all查询到最后全部查询完成后就不再查询,查询多少次,返回结果为多少。

2.preg_replace与preg_filter函数

两个函数都是进行查询饭后替换查询到的结果,有三个参数:查询规则,想要替换成的字符串或者数组,目标字符串或数组

区别:preg_replace :将没有被匹配到的数组也输出

preg_filter:只会将匹配的数组输出

3.preg_grep 函数

preg_grep 与preg_filter函数的匹配方式差不多,有两个参数:匹配规则参数,目标数组参数      返回的是结果数组

代码

结果

preg_grep也是只返回匹配到的字符串。

4.preg_split函数

preg_split函数用于截断字符串,将字符串分割

代码

结果

二、基本语法

1.定界符

常用 ' / / '但是输出的时候需要用到  ' /  ' 的时候需要用到转义符' \ ';

2.原子

分为可见原子以及不可见原子

可见:a-z A-Z 0-9 各种标点符号,汉字,英文,其他国家语言文字(Unicode编码表中可用键盘输出后肉眼可见的字符,例如:标点 ; . / ? 或者英文字母,汉字等等可见字符)

不可见:Unicode编码表中可用键盘输出后肉眼不可见的字符,例如:换行符 \n,Tab制表符\t, 空格等等,一般只用这三个(换行符一般和其他字符一起匹配,因为只有换行符是匹配不到的)小提示:匹配运算符前面需要加'\' 例如:'+' 号,匹配的话需要写出 '\+'

3.原字符

| 匹配两个或者多个分支选择

[] 匹配方括号中的任意一个原子

[^] 匹配除方括号中的原子之外的任意字符;

例子:Duang|duang 或者 [Dd]uang 都可以匹配到Duang和duang

区间写法:[a-z]匹配a到z的字符, [0-9]匹配0到9的字符。也可以[a-z0-9]

. 匹配除换行符之外的任意字符

\d 匹配任意一个十进制数字,即{0-9]

\D 匹配任意一个非十进制数字[^0-9] 相当于[^\d]

\s 匹配一个不可见的原子,即[\f\n\r\t\v]

\S 匹配一个可见的原子,即[\f\n\r\t\v],相当于[\s]z

\w 匹配任意一个数字、字母或下划线,即[0-9a-zA-Z_]

\W 匹配任意一个非数字、字母或下划线,[0-9a-zA-Z_],相当于[\w]

4.量词

{n}:限制n位

{n,}:限制最少为n位到正无穷

{n,m}:限制最少为n为,最多为m位

*:范围为0-无限

?:范围为0或1

+:范围为1-无限

5.边界限制

^为限制开头        $为限制结尾

6.模式单元

(a|b)选择其中的一种选择

三、修正模式

1.贪婪与懒惰模式

贪婪模式:在歧义选择时尽可能的选择更多的。(默认模式)

懒惰模式:在歧义选择时尽可能的选择更少的。(/[a-z/0-9]/U修改为懒惰模式后面加上U)

参考:https://www.cnblogs.com/Johnson-lin/p/10875388.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 正则表达式是一种描述字符串结果的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。常用的语...
    醉于麦田阅读 516评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,275评论 0 4
  • 一、常用函数学习 1.preg_match与preg_match_all函数两个函数都有三个参数preg_matc...
    心上鱼_93fe阅读 313评论 0 0
  • 正则表达式介绍 正则表达式简介 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、...
    dptms阅读 10,972评论 1 9
  • 2016年5月10日,湛江市麻章区扶贫开发办公室发布了《麻章区新时期精准脱贫攻坚对口扶贫方案》,文中对麻章区...
    小雅_59bf阅读 217评论 0 0