【JavaScript高级程序设计】5、RegExp类型

regexp就是在JavaScript中使用正则表达式

JavaScript中执行正则表达式的方法exec:

1、首先补充一下正则表达式的知识

 

2、RegExp实例方法

 

<!DOCTYPE html>
<html>
<head>
    <title>RegExp exec() Example</title>
    <script type="text/javascript">
        var text = "mom and dad and baby";
        
        var pattern = /mom( and dad( and baby)?)?/gi;
        var matches = pattern.exec(text);
        
        alert(matches.index);   
        alert(matches.input);    
        alert(matches[0]);       
        alert(matches[1]);       
        alert(matches[2]);       

    </script>
</head>
<body>

</body>
</html>

结果:

 

<!DOCTYPE html>
<html>
<head>
    <title>RegExp exec() Example 2</title>
    <script type="text/javascript">
        var text = "asdadasat, cat, bat, sat, fat";   
        //这个。表示[^\n\r]这个就是除了所有的换行和回车字符之外的所有字符
        //这里就是匹配连续三个字符,以at结尾的字符
        var pattern1 = /.at/;
        //这个是匹配一次
        var matches = pattern1.exec(text); 
        //lastIndex从字面上来讲就是最后一个索引,实际上它的意思是正则表达式开始下一次查找的索引位置
        //6$$$sat$$0
        alert(matches.index + "$$" + matches[0] + "$$" + pattern1.lastIndex)

        matches = pattern1.exec(text); 
        //6$$$sat$$0
        alert(matches.index + "$$" + matches[0] + "$$" + pattern1.lastIndex)        
        
        //这里设置全局变量的话表示应用所有的字符串,也就是第二次执行的时候在后面接着匹配
        var pattern2 = /.at/g;
        
        var matches = pattern2.exec(text);  
        //6$$$sat$$9
        alert(matches.index + "$$" + matches[0] + "$$" + pattern2.lastIndex)

        matches = pattern2.exec(text); 
        //11$$$sat$$14
        alert(matches.index + "$$" + matches[0] + "$$" + pattern2.lastIndex)
        
        //这个匹配的就是^\s*'?这个是空白开头的之后又'0或1个,然后|表示或者,然后'?\s*同前面一样的结尾
        //然后划分是表示根据,号划分,并去掉逗号前后的'
        //0,qweqweqweqe,sdfsrddcsefr
        var arr = " 0,'qweqweqweqe','sdfsrddcsefr' ".replace(/^\s*'?|'?\s*$/g,"").split(/'?,'?/);
        alert(arr);

    </script>
</head>
<body>

</body>
</html>

 

结果:

 

posted @ 2016-07-05 11:36  cutter_point  阅读(85)  评论(0)    收藏  举报