Javascript 正则表达式笔记

\d 元字符
+ 量词
\w 常用的字符a-zA-Z0-9
.除回车之外的字符
?0-1个字符 量词  只有前面是元字符,才变现量词
* 0-n  量词

/^\d+$/ 以字符开头,义字符结尾
[0-9] 里面的一个元素

replace,exec,match
var str="adfdfsaaadfdaafsaa";
str.replace('a','*');
str.replace(/a/g,'*');

var i=0;
str.replace(/a/,function(s){
 return i++;
return s;
});
--s 是每次被替换前的东西
--replace 自定义替换规则 --可以自定义返回的东西

var a=["零","壹","贰","叁",肆","伍","陆","柒",捌","玖","拾"];
var str='887284';
var result=str.replace(/\d/g,function(str,i,input){
//第一个参数:正则匹配的结果 例如:第一个结果是数字 8
//第二个参数:当前str的位置
//input:当前输入的字符串 后面两个参数一般不用

return a[str];
});

//分组 replace有四个参数  多出几个分组,就多出几个参数
var result=str.replace(/(\d)/g,function(str,sl,i,input){
//第一个参数:正则匹配的结果 例如:第一个结果是数字 8
//第二个参数:当前str的位置
//input:当前输入的字符串 后面两个参数一般不用 
//分组永远在中间 i和input 永远在倒数第二和第一的位置
return a[str];
});

var str="My name is{0}.
I am{1} years old.
I am in class{2} grade{3}";

var a=["Cupid",38,4,6];
str.replace(/{(\d)}/g,function(str,){
console.log(str);//{0},{1},{2},{3}
console.log(sz);//分组 0,1,2,3
onsole.log(RegExp.$1);//分组 0,1,2,3
retur a[sz];//return a[RegExp.$1];
//
});

  

posted @ 2015-07-06 21:37  ICupid  阅读(141)  评论(0编辑  收藏  举报