当前位置:首页 > 资讯 > info5 > 正文

PHP中正则表达式的用法

发表于: 2015-11-26   作者:lamp_yang_3533   来源:转载   浏览:
摘要: 1.正则表达式的定义  正则表达式就是记录某种文本规则的字符串。如: $pattern='/^[a-zA-Z]\w{5,9}$/';2.正则表达式的构成  五大组成部分:字符簇、限定符、定位符、子表达式和模式修饰符。字符簇:普通字符组成的集合(特殊字符需要转义,比如\.和\-)。[abc] 匹配abc中的任何一个字母[a-z] 匹配任何一个小写字母[A-Z] 匹配任何一个大小字母[a-zA-Z]匹
1. 正则表达式的定义
    正则表达式就是记录某种文本规则的字符串。 如:  $pattern = '/^[a-zA-Z]\w{5,9}$/';

2. 正则表达式的构成
    五大组成部分: 字符簇、限定符、定位符、子表达式和模式修饰符。

字符簇:普通 字符组成的集合(特殊字符需要转义,比如\.和\-)。
[abc]  匹配abc中的任何一个字母
[a-z]  匹配任何一个小写字母
[A-Z]  匹配任何一个大小字母
[a-zA-Z] 匹配任何一个字母
[0-9]  匹配任何一个数字
[a] 匹配一个a字母  等价于  a  
如果字符簇中只包含一个字符,可以省略两边的中括号。

\d   匹配数字,等价于  [0-9]
\D  匹配非数字
\w   匹配字母、数字和下划线
\W  匹配非(字母、数字和下划线)
\s   匹配任意的空白符
\S  匹配非空白符
.  匹配除换行符以外的任意字符
[^abc]  匹配除了abc之外的任何一个字符

限定符:限定字符串中字符出现的次数。
{1}    限定次数为1    (可以省略)
{3}    限定次数为3
{3,}  限定次数为3次及以上
{1,3}  限定次数为1-3次

*  限定次数为0次及以上  等价于  {0,}
+ 限定次数为1次及以上  等价于  {1,}
?  限定次数为0次或1次  等价于 {0,1}

注意: "/.*/"具有贪婪性,一般需要用?去掉它的贪婪性,如写成"/.*?/"

定位符:定位匹配字符串的位置。
^  匹配字符串的开头,置于正则表达式的内侧头部
$  匹配字符串的结尾,置于正则表达式的内侧尾部

子表达式:用小括号将一个正则表达式的局部括起来作为整体去匹配,这样的式子就是子表达式。

模式修饰符:对整个正则表达式进行一定的修饰处理,置于正则表达式的外侧尾部,也就是写在尾部正斜线的后面。
i   正则表达式中的字符簇进行匹配时,不区分大小写
s  正则表达式中的 . 可以包含换行符
u  正则表达式中的字符簇被认为是utf-8的
U  对正则表达式中的量词的贪婪性进行逆转

特殊符号:
|  或匹配
$pattern = "/[a-z]{3}|\d{3}/"   匹配3个小写字母或者匹配3个数字

示例:
匹配邮箱的正则表达式
$pattern = "/^[^_][\w\.-]+@[\w]+(\.\w+)+$/i";
$pattern = "/^[a-zA-Z0-9_\.-]{2,}@[a-zA-Z0-9_\-]{2,}(\.[a-zA-Z0-9]{2,})+$/";

匹配任意两个连续汉字(utf8编码)的正则表达式
$pattern = '/[\x{4e00}-\x{9fa5}]{2}/u';

PHP中正则表达式的用法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号