PHP正则表达式

前端之家收集整理的这篇文章主要介绍了PHP正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<p align="left">$rex=”/ggd/i”表示匹配到g(G)开始d(D)结束且中间只能有G(D)出现任意次,不区分大小写


<p align="left"> 


<p align="left">1、  定界符号:(1)/ 内容 / (2)|| (3){  } (4)等除字母、数字、“\”以外的字符//必须成对出现


<p align="left"> 


<p align="left">2、  内容里存在原子:原子是匹配单元,必须存在


<p align="left"> 


<p style="margin-left: 60px;" align="left">可以为打印字符:[a-z]、[A-Z]、等可见字符


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">可以为非打印字符:键盘的回车对应\n匹配


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">转义字符:如点代表所有字符所有可用.表示点,其他如【/】、【?】等


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">函数:preg_quote($字符串1)//会将字符串1中所有可转义的字符转义后返回新字符串


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">特殊符号字符:所有数字【\d】、所有非数字【\D】、任意一个字(a-z,A-Z,下划线)【\w】、


<p style="margin-left: 60px;" align="left">任意非字【\W】、任意一个原子【.】(点)


<p style="margin-left: 60px;" align="left">所有空白(空格、tab键、换行)【\s】、任意非空白【\S】


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">自定义:[字符1字符2字符3]//也可为[a-zA-Z]区间//匹配任意一个// ^为取反,写在中括号内


<p style="margin-left: 60px;" align="left"> 


<p align="left">3、  内容里存在原子符:对原子的修饰补充


<p align="left"> 


<p style="margin-left: 60px;" align="left">【
】修饰前面的单个原子可以出现任意次//如goodxgooodxgd 正则可写为:/god/


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【+】修饰前面的单个原子至少要出现1次//如上 不可匹配gd


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【?】修饰前面的单个原子只能出现0次或者1次


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【{ n }】修饰前面的单个原子只能出现n次


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【{a,b}】修饰前面的单个原子只能出现  [ a,b ]  次 //至少两次{2,  }


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【|】修饰两边字符串任意谁整体出现,/intelligent|diligent/


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【^字符1】必须以字符1开始,/^xceee/必须以xceee为开始,写在表达式最前面


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【$字符2】必须以字符2结尾,/\Aaa.
wo$/必须以aa开始和wo为结束,.表示任意


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【\A和\Z】开始和结束,以上相同,但不可配合修正符【m】使用,只能表示最前与最后


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【\b】单词边界(空格),/\bare\b/,匹配字符串“ware are xxx”匹配到are单词,


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【\B】单词边界以外的部分


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【()】改变优先级,/t(r|x)ol/,可匹配trol或者txol


<p style="margin-left: 120px;" align="left">以小变大:/tel
/表示l可出现任意次=>/t(el)/表示el可出现任意次


<p style="margin-left: 120px;" align="left">用于取出:/t(el)(.
)/如"xxwtelelllll"输出telelllll  el  elllll


<p style="margin-left: 120px;" align="left">可在表达式中用\1或者$1直接取第一个值


<p style="margin-left: 120px;" align="left"> 


<p align="left">4、  内容修正符:对定界符内容的修正,写在定界符外右边


<p align="left"> 


<p style="margin-left: 60px;" align="left">【i】不区分大小写,/teL/i可匹配tel、Tel、TEL 等


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【m】换行后不示为不同行,默认将\n换行示为以上一行为同一行,/^aa/使用有区别


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【A】同\A相同匹配开头,以【m】无法同步使用


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【s】修正表达式中【.】可匹配回车\n,如/a.art/s匹配"I am \nsmart"


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【x】忽略正则表达式内容里所写的空白间隔,去掉空字符而已


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">【U】取消开始和结束符以最大范围取值,如"awobaisb"使用"/a.
b/"输出awobaisb


<p style="margin-left: 90px;" align="left">使用/a.b/U或/a.?b/取消贪婪则会输出:awob和aisb


<p style="margin-left: 90px;" align="left"> 


<p align="left">5、  替换内容1:preg_replace($正则字符串,“替换值”,$原字符串);//返回替换后的字符串


<p align="left"> 


<p style="margin-left: 60px;" align="left">正则字符串:/\Aaa.*wo$/ 如"aadongwo"


<p style="margin-left: 60px;" align="left"> 


<p style="margin-left: 60px;" align="left">可在替换值中用\1或者$1直接取第一个值(dong)


<p style="margin-left: 60px;" align="left"> 


<p align="left">6、  替换内容2:


<p align="left">                  

<img src="/res/2019/03-02/08/6c97f7d215ae6f86e048d097d9fc8d1b.png" alt="">


<p align="left">7、  分割内容:preg_split($正则字符串,$原字符串);//以正则字符串为分割符,返回数组


<p align="left">                         正则字符串如:"/[.,?na]/"表示可以以点、逗号、问好、字母n、字母a作为分隔符


<p align="left"> 

<p align="left">8、  获取匹配值:preg_match_all($正则字符串,$原字符串,$返回结果数组);


<p style="margin-left: 90px;" align="left">//查找无则返回失败(false),成功则结果存在$返回结果数组


<p style="margin-left: 90px;" align="left">//preg_match()获取一次,参数相同


<p style="margin-left: 90px;" align="left"> 


<p align="left">9、  获取数组匹配值:preg_grep($正则字符串,$原字符串数组);//返回匹配上的新字符串数组


<p align="left"> 


<p align="left"> 

猜你在找的PHP相关文章