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];

//

});

  

你可能感兴趣的:(JavaScript)