日期:2014-05-16  浏览次数:20287 次

JavaScript 学习笔记 六 正则表达式《三》

//3.使用正则表达式
//创建一个正则表达式有两种方式,一种是借助 RegExp 对象来创建,另一种方式是使
//用正则表达式字面量来创建
    //字面量
        //var regex = /pattern/;//pattern 样式
    //RegExp 对象
        //var regex = new RegExp("pattern", switchs);//switchs 开关作用 i 忽略大小写开关  g 全局搜索开关 
                                                    // m 多行搜索开关 (重定义 ^和 $的意义)
    //一般形式描述
     //var regex = /pattern/[switchs];
    var pattern = /^javascript/;
    alert(pattern.test("java\njavascript"));//false
    pattern = /^javascript/m;//m 多行搜索
    alert(pattern.test("java\njavascript"));//true
//RegExp 对象的方法
    //test() 测试串中是否有合乎模式的匹配
    //exec() 对串进行匹配 ,返回需要分组的信息
    //compile() 编译正则表达式,这个过程与重新声明一个正则表达式对象的作用相同

//4. String 中的正则表达式
    //match   匹配正则表达式,返回匹配数组
    //replace 替换
    //split    分割
    //search   查找,返回首次发现的位置
    var str = "life is very much like a mirror. life is a big froth";
    var result = str.match(/is|a/g);  alert(result);
    result = str.replace(/life/g,"dream");  alert(result);//替换 /g 全局搜索
    //调换位置  
    str = "<span>Welcome,  John</span>";
    result = str.replace(/(\w+),\s*(\w+)/g,"$2,$1"); alert(result);//通过$n 来对第 n 个分组进行引用
    
    var str = "john : tomorrow        :remove:file";
    var result = str.split(/\s*:\s*/);//分割成数组 john,tomorrow,remove,file
    var index = str.search(/tomorrow/);alert(index);// 7 ,如果查找不到,返回-1
?