(大脑短路篇)今天晚上遇到的一个小问题

来源:互联网 发布:卖家网wish数据是什么 编辑:程序博客网 时间:2024/05/11 21:08

利用课余时间学习JS已经半个月了,想到这学期课程繁多,自己就变得越来越浮躁...抓狂

今天晚上腾出时间来学习正则表达式,看到了一个例子:


var myString = "001,001,002,003,003,004";

var myRegExp = /(\d+),\1/g;

myString = myString.replace(myRegExp,"error");

document.write(myString);


输出结果为:error,002,error,004

但是我却坑爹地看不懂...!尴尬一直不能理解/d+的意思,看到第一个001,想到的就是“00‘后面的“1”,后面加个 ”+“ 意思就是出现过一次或者多次的前一项

然后就先不明白了,...(明显是多前面的内容理解不够深,还有那个分组的概念没搞清楚,浮躁啊~!)

这个想法一直没转过来

知道刚刚出去吃了个宵夜,回头一看,嘿!这么简单的问题呀...

就是/d+ <=> /d/d/d/d/d...,然后后面的分组\1就是前面的n个”\d"

替换的就刚好是中间隔着一个”,“相同的两个数字的分组!


再测试了一下,果然如此,我把

 "001,001,002,003,003,004"

改成

"001,001,001,003,003,004"

后结果变成了:

error,001,error,004并没有替换第三个001。


总结下:关键是没有弄清分组的概念和”+“的用法

浮躁啊烦躁啊...平常心学习很重要哦,注意时刻保持清醒的头脑


写下一点学习心得,长长记性~

~路过的高手勿喷~


原创粉丝点击