js正则表达式

1:社么是正则表达式?

2:创建正则表达式?

2.1: var reg=/pattern/;

2.2:  var reg=new RegExp("pattern");

3:正则表达式的exec方法:

       reg.exec(str); //str为要执行正则表达式的字符串:

       index属性:

       input:属性
 

<script type="text/javascript">
var reg = /test/;
var str = 'testString';
var result =  reg.exec(str);
alert(result);
</script>

 

正则表达式的test()方法:

         test方法仅仅检查是否能够匹配str,并且返回布尔值以表示是否成功
 

4:正则

4.1:/^开头,结尾$/

^表示只匹配字符串的开头       e.g: reg=/^c/; str="strc"; execReg(reg,str); //结果为null,因为strc不是以c开头的
^表示只匹配字符串的开头       e.g: reg=/$e/; str="lihe"; execReg(reg,str);  //返回结果为e,因为lihe是以e结尾的

4.2:e{n}  ,  e{m,n} ,   e{n,}   贪心与非贪心

 /e{1}/:只匹配一个e        /e{2}/:匹配两个连续的e      /e{3}/:匹配三个连续的e   e.g:

    reg = /c{2}/;
    str='cainiao';
    execReg(reg,str);//返回null,没有连续的cc

 /e{3,4}/ :连续的3个e或者4个e

    reg = /c{3,4}/;
    str='eeeeTtil';
    execReg(reg,str);//结果返回eeee,这表明正则会尽量多匹配,可3可4的时候它会选择多匹配一个。
    reg = /c{3,4}/;
    str='eeeeeTtil';
    execReg(reg,str);//仍然只匹配4个,eeee。

/e{1,}/:一个以上的e
    reg = /c{1,}/;
    str='cccccTest';
    execReg(reg,str);//返回ccccc,再次说明了正则表达式会尽量多地匹配。 

  贪心与非贪心:果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?

4.3:*,+,?

         *表示0次或者多次,等同于{0,},即 c* 和 c{0,} 是一个意思。    

         +表示一次或者多次,等同于{1,},即  c+ 和 c{1,} 是一个意思。

          最后,?表示0次或者1次,等同于{0,1},即  c? 和 c{0,1} 是一个意思。

 

4.4:点’.’ /./  /.+/   /b|c/   /[abc]/  /[^abc]/   数字和非数字   空白   单词

                   ‘.’会匹配字符串中除了换行符\n之外的所有字符

                   .+所有的字符都被匹配掉了,包括空格,下滑线,破折号

                    b|c表示,匹配b或者c

                    [abc]表示a或者b或者c中的任意一个字符

                    [^abc]]表示不能是a,b或者c中的任何一个;[^0-9]表示非数字,[^a-z]表示非小写字母

                     \d表示数字的意思,相反,\D表示非数字。  

                    \f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符。\s匹配单个空格

                    \w表示单词字符,等同于字符集合[a-zA-Z0-9_]   \W表示非单词字符,等效于[^a-zA-Z0-9_]

5:正则表达式的修饰符

                     修饰符g:全局匹配

                     修饰符i:不区分大小写

                     修饰符:多行模式

 

6:用字符串的方法执行正则表达式

                  math()

                  replace()

                  seacrch():search返回正则表达式第一次匹配的位置

                  split()

                   

  

 

 

posted @ 2015-11-07 22:47  阿狸先生  阅读(169)  评论(0编辑  收藏  举报