正则表达式

其他参考链接:http://msdn.microsoft.com/zh-cn/library/ae5bf541(v=VS.90).aspx

正则表达式:查找处理复杂规则的字符串

主要的作用:分割,[匹配],查找,替换; 完成一些函数无法实现的工作

////////////简介/////////////
(1) 原子(普通的字符a-z A-Z 0-9、原子表、转义字符)
(2) 元字符(特殊功能的字符 # *)
(3) 模式修正符(系统内置部分字符i、m、S、U..)

////////////正文//////////////
一、表达式中的原子
    1 a-z A-_0-9 //最常见的字符
    2 (abc)(akd) //单元符 - 完整匹配
    3 [abcs][^abc] //原子表 - 任意匹配
    4 转义字符
        \d 包含所有数字[0-9]
        \D 除所有数字外[^0-9]
        \w 包含所有字母[a-zA-W_0-9]
        \W 除所有字母[^a-zA-W_0-9]
        \s 包含空白区域如 回车、换行、分页
    
二、正则表达式中的 “元字符”
    * 匹配前一个内容的0次1次或多次    
    + 匹配前一个内容的1次或多次    
    ?  匹配前一个内容的0次或1次
    . 匹配内容的0次1次或多次,但不包含回车换行    
    | 选择匹配类似PHP中的|
    ^ 匹配字符串首部内容
    $ 匹配字符串尾部内容
    \b 匹配单词边界,边界可以是空格或者特殊符合
    \B 匹配除带单词边界意外内容
    {m} 匹配前一个内容的重复次数为M次
    {m,} 匹配前一个内容的重复次数大于等于M次
    {m,n} 匹配前一个内容的重复次数M次到N次
    () 合并整体匹配,并放入内容

三、运算顺序
    () 内存处理最高
    * ? + {} 重复匹配其次
    ^ $ \b 边界处理第三
    | 条件第四
    最后按照运算计算

四、模式修正符
    /正则/u

    i 正则内容在匹配时候不区分大小写(默认是区分的)
    m 在匹配首内容或者尾内容时候采用多行识别匹配
    S 将转义回车取消是为单行匹配如. 匹配的时候
    x 忽略正则中的空白
    A 强制从头开始匹配
    D 强制$匹配尾部无任何内容 \n
    U 禁止贪婪匹配只跟踪到最近的一个匹配符并结束,
          常用在采集程序上的正则表达式

五、在php中的应用(常用的函数)
    1、匹配
        preg_match_all()    [采集]         
    2、替换
        preg_replace()
    3、分割
        preg_split() 
    explode()

posted @ 2011-10-20 21:11  ppKevin  阅读(127)  评论(0)    收藏  举报