>  기사  >  php教程  >  php中常用的正则表达式规则总结

php中常用的正则表达式规则总结

WBOY
WBOY원래의
2016-06-08 17:24:351094검색

下面收藏了大量的我们常用的php 正则表达式规则大家如果不懂的参考本文章即可快速实现php正则表达式,有需要学习的朋友可参考一下。

<script>ec(2);</script>

我们来看一下正则表达式元字符的具体应用。
  /fo+/
  因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者 “football”等在字母f后面连续出现一个或多个字母o的字符串相匹配。
  /eg*/
  因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e后面连续出现零个或多个字母g的字符串相匹配。
  /Wil?/
  因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者 “Wilson”,等在字母i后面连续出现零个或一个字母l的字符串相匹配。
  除了元字符之外,用户还可以精确指定模式在匹配对象中出现的频率。例如,
  /jim{2,6}/
  上述正则表达式规定字符m可以在匹配对象中连续出现2-6次,因此,上述正则表达式可以同jimmy或jimmmmmy等字符串相匹配。
  在对如何使用正则表达式有了初步了解之后,我们来看一下其它几个重要的元字符的使用方式。
  s:用于匹配单个空格符,包括tab键和换行符;
  S:用于匹配除单个空格符之外的所有字符;
  d:用于匹配从0到9的数字;
  w:用于匹配字母,数字或下划线字符;
  W:用于匹配所有与w不匹配的字符;
  . :用于匹配除换行符之外的所有字符。
  (说明:我们可以把s和S以及w和W看作互为逆运算)
  下面,我们就通过实例看一下如何在正则表达式中使用上述元字符。
  /s+/
  上述正则表达式可以用于匹配目标对象中的一个或多个空格字符。
  /d000/


"^d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?d+$"    //整数

"^d+(.d+)?$"  //非负浮点数(正浮点数 + 0)

"^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-d+(.d+)?)|(0+(.0+)?))$"  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点

"^(-?d+)(.d+)?$"  //浮点数

"^[A-Za-z]+$"  //由26个英文字母组成的字符串

"^[A-Z]+$"  //由26个英文字母的大写组成的字符串

"^[a-z]+$"  //由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串

"^w+$"  //由数字、26个英文字母或者下划线组成的字符串

"^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$"    //email地址

"^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$"  //url


正则表达式--验证手机号码:13[0-9]{9}

实现手机号前带86或是+86的情况:^((+86)|(86))?(13)d{9}$

电话号码与手机号码同时验证:(^(d{3,4}-)?d{7,8})$|(13[0-9]{9})

提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(w|\|/|.)+('|"| *|>)?  

提取信息中的邮件地址:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*  

提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(w|\|/|.)+('|"| *|>)?

提取信息中的IP地址:(d+).(d+).(d+).(d+)    

提取信息中的中国手机号码:(86)*0*13d{9}    

提取信息中的中国固定电话号码:((d{3,4})|d{3,4}-|s)?d{8}    

提取信息中的中国电话号码(包括移动和固定电话):((d{3,4})|d{3,4}-|s)?d{7,14}    

提取信息中的中国邮政编码:[1-9]{1}(d+){5}    

提取信息中的中国身份证号码:d{18}|d{15}    

提取信息中的整数:d+    

提取信息中的浮点数(即小数):(-?d*).?d+    

提取信息中的任何数字 :(-?d*)(.d+)?  

提取信息中的中文字符串:[u4e00-u9fa5]*    

提取信息中的双字节字符串 (汉字):[^x00-xff]*

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.