php正则

Posted 1609359841qq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则相关的知识,希望对你有一定的参考价值。

Preg_match()执行一个正则表达式匹配

参数1reg 参数2string 返回值01 查到就是1查不到就是0

Preg_match_all()执行一个全局正则表达式匹配

参数1reg 参数2string 返回值0n  n是查到的总次数 查不到就是0

Preg_replace()执行一个正则搜索和替换

参数1reg 参数2newstring 参数3是检索的string 返回值是替换后的新的字符串

 

第三个参数还可以是数组 返回值也是数组

 

Preg_split()听过一个正则表达式分隔字符串

 

参数1reg 参数2string

js正则

 

正则:检测字符串的一种规则。

 

Json的本质 还是字符串

 

正则的定义 简写 /规则/ 比如/456123/  检测字符串必须有45612

 

字符串和正则有关的方法

 

Match()查找找到一个或多个正则表达式的匹配 有就返回找到的结果 没有就是null

 

语法string.matchreg

 

Search()查找与正则表达式相匹配的值  查找不到返回-1 查找到了返回首次查找的字符位置

 

语法 string.searchreg

 

Replace()在字符串中查找匹配的字串,并替换与正则表达式匹配的字串

 

如果检索到返回替换后的新字符串 如果没有检索到返回原字符串

 

语法string.Replaceregnewstring

 

注意的 字符串中的 . 在正则中如果就代表一个 . 需要转义 \.

 

/./代表任意一个字符 /./代表一个.

 

正则对象的两个方法

 

Text() 检索字符串中的值返回true false

 

语法 reg.textstring

 

Exec()检索字符串中指定的值,返回是一个数组,有找到的值并确定其位置找不到返回null

 

语法reg.execstring

 

正则的性质

 

1正则的懒惰性

 

正则在捕获的时候,挡在第一次捕获成功了,就直接返回 不在向下捕获,这就叫正则的懒得性

 

解决正则的懒惰性

 

在正则的后面加上修饰符/g

 

2正则的贪婪性

 

/\d+/去捕获一个字符串中的数字 他会尽可能多的捕获全部符合条件的 这叫正则的贪婪性

 

 

 

 

字符串检索 分两种结果

 

第一种是查找型

 

查找到就终止 不会向下查找

 

   第二种是捕获型 分两种  

 

  第一是捕获首次出现的

 

第二是捕获所有的/g

 

分组捕获()这是分组捕获的标志 将大正则分成两个小正则 在正则中\1代表第一个分组\2代表的是第二个分组

 

比如 /(a)(b)\1\2/  代表的是abab这个规则

 

在分组捕获中

 

结果即返回了大正则的捕获结果,也返回了小正则的捕获结果

 

如果不想捕获某一个分组中的内容 在对应的分组中的前面加上? 就可以了 同时分组引用(\1\2)也失效

 

一旦分组捕获成功,在正则的类上会给$1$2等赋值,

 

Regexp $1也是分组引用

 

\1也是分组引用 只能在正则中起作用

 

 

 

以上是关于php正则的主要内容,如果未能解决你的问题,请参考以下文章

php如何正则替换css中的图片路径?

php 正则表达式

php中文正则匹配

php正则问题如何取文本中间内容?

php正则匹配图片路径

php 正则表达式 url匹配