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

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

?

//2.分组 引用  括号是一个比较特殊的操作符,它可以有三中作用
//第一种情况,括号用来将子表达式标记起来,以区别于其他表达式
    var help = /^h(elp)?$/; //字符h之后的elp可有可无 因为 h 是必选的
    
//第二种情况,括号用来分组,当正则表达式执行完成之后,与之匹配的文本将会按照规则填入各个分组
    //四个字符表示省份,然后是四个数字表示区号,然后是两位字符表示区县
    var pattern = /(\w{4})(\d{4})(\w{2})/;
    var result  = pattern.exec("yunn0871cg");
    alert("privnce:"+result[1]+" city code:"+result[2]+" county code:"+result[3]);
    //正则表达式的 exec 方法会返回一个数组(如果匹配成功的话),数组的第一个元素(下标为0)表示整个串,
    //第一个元素为第一个分组,第二个元素为第二个分组,以此类推。
    
//第三种情况,括号用来对引用起辅助作用,即在同一个表达式中,后边的式子可以引用前边匹配的文本
    // \1 表示第一个分组(括号中的规则匹配的文本),\2 表示第二个分组,以此类推。
    //在单引号中我们不允许出现双引号,同样,在双引号中也不允许出现单引号
    var pattern = /(['"])[^\1]*\1/;


?

?