正则---让人喜欢让人忧(1)

  正则好长时间没有用了,现在用起来有点生。😄这篇就当我学习正则的笔记吧;不对的地方多多指点哟~

正则的作用:1、匹配的字符   2、校验字符串是否符合某一模式;【简单的说把我想要的字符找到😄】

正则表达式语法:

  ~摘自菜鸟~

  正则表达式是由普通字符【打印字符和非打印字符】以及特殊字符(称为"元字符")组成的文字模式。

  非打印字符:\cx  匹配有x指明的控制字符  

        \f    匹配一个换页符

        \n   匹配一个换行符

        \r    匹配一个回车符

        \s    匹配任何空白字符

        \S    任何非空白字符

        \t    匹配一个制表符

        \v    匹配一个垂直制表符

  特殊字符:有特殊含义的字符。匹配这些特殊字符,用''/''转义。

        $   匹配输入字符串的结束位置

        ^    匹配字符串的开始位置

          [^ ] 不接受该字符集合【非,不接受】

        ( )  标记一个子表达式的开始和结束位置,放的是一个子表达式

        *    零次或多次

        +    子表达式一次或多次

        .     匹配任何单字符(\n换行符除外)

        ?    零次或一次(指明一个非贪婪限定符)
        \    将下一个字符标记为为或特殊字符、或原义字符、或向后引用、或八进制转义符;"\n"匹配换行符

        []   范围表达式

        {    限定符表达式的开始

        |    两项之间的一个选择

  限定符:正则表达式的一个组件必须要出现多少次才能满足匹配;【组件重复次数】

        *    子表达式零次或多次

        +    子表达式一次或多次

        ?   子表达式零次或一次    【非贪婪,最小匹配;贪婪,尽可能匹配多的】

       {n}    匹配确定的n次   【n次】

       {n,}   至少匹配n次     【至少多少次】

       {n,m}  最少匹配n次最多匹配m次  【n,m都是非负整数】

      例如:只匹配两个字符 。   /Chapter [1-9][0-9]?/         /Chapter [1-9][0-9]{0,1}/

      贪婪:/<.*>/       匹配 <h1>this is all</h1>  所有内容    【 . 除\n 之外的任意单字符】

      非贪婪:/<.*?>/   只匹配 <h1>   【加上?表示非贪婪】

      只想匹配开始的<h1>   /<\w+?>/       

  定位符:将表达式定位到行首或者行尾  ^  $  \b 字边界 \B非字边界匹配

 

      非打印字符

       

      特殊字符

      

      限定符

      

 

      定位符

      

 

     初学的同学:http://www.runoob.com/regexp/regexp-syntax.html

 

    

 

posted @ 2017-08-27 00:52  铁塔  阅读(168)  评论(0编辑  收藏  举报