php正则
Posted 1609359841qq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php正则相关的知识,希望对你有一定的参考价值。
Preg_match()执行一个正则表达式匹配
参数1是reg 参数2是string 返回值0或1 查到就是1查不到就是0
Preg_match_all()执行一个全局正则表达式匹配
参数1是reg 参数2是string 返回值0和n n是查到的总次数 查不到就是0
Preg_replace()执行一个正则搜索和替换
参数1是reg 参数2是newstring 参数3是检索的string 返回值是替换后的新的字符串
第三个参数还可以是数组 返回值也是数组
Preg_split()听过一个正则表达式分隔字符串
参数1是reg 参数2是string
js正则
正则:检测字符串的一种规则。
Json的本质 还是字符串
正则的定义 简写 /规则/ 比如/456123/ 检测字符串必须有45612
字符串和正则有关的方法
Match()查找找到一个或多个正则表达式的匹配 有就返回找到的结果 没有就是null
语法string.match(reg)
Search()查找与正则表达式相匹配的值 查找不到返回-1 查找到了返回首次查找的字符位置
语法 string.search(reg)
Replace()在字符串中查找匹配的字串,并替换与正则表达式匹配的字串
如果检索到返回替换后的新字符串 如果没有检索到返回原字符串
语法string.Replace(reg,newstring)
注意的 字符串中的 . 在正则中如果就代表一个 . 需要转义 \.
/./代表任意一个字符 /./代表一个.
正则对象的两个方法
Text() 检索字符串中的值返回true 和false
语法 reg.text(string)
Exec()检索字符串中指定的值,返回是一个数组,有找到的值并确定其位置找不到返回null
语法reg.exec(string)
正则的性质
1正则的懒惰性
正则在捕获的时候,挡在第一次捕获成功了,就直接返回 不在向下捕获,这就叫正则的懒得性
解决正则的懒惰性
在正则的后面加上修饰符/g
2正则的贪婪性
/\d+/去捕获一个字符串中的数字 他会尽可能多的捕获全部符合条件的 这叫正则的贪婪性
字符串检索 分两种结果
第一种是查找型
查找到就终止 不会向下查找
第二种是捕获型 分两种
第一是捕获首次出现的
第二是捕获所有的/g
分组捕获()这是分组捕获的标志 将大正则分成两个小正则 在正则中\1代表第一个分组\2代表的是第二个分组
比如 /(a)(b)\1\2/ 代表的是abab这个规则
在分组捕获中
结果即返回了大正则的捕获结果,也返回了小正则的捕获结果
如果不想捕获某一个分组中的内容 在对应的分组中的前面加上? : 就可以了 同时分组引用(\1\2)也失效
一旦分组捕获成功,在正则的类上会给$1$2等赋值,
Regexp $1也是分组引用
\1也是分组引用 只能在正则中起作用
以上是关于php正则的主要内容,如果未能解决你的问题,请参考以下文章