【记录】JS正则表达式(学习笔记2)现学现卖还帮美女解决了个问题。

呵呵,刚学习正则表达式,今天帮一个美女解决了个问题。

感到很高兴。

先贴下今天都学了什么吧。不然忘记了。

. 匹配除换行符的任意字符
\w 匹配字母,数字,下划线,汉字
\s 匹配任意空白符
\d 匹配数字
^ 匹配字符开始位置
$ 匹配字符结束位置
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复N次
{n,} 重复N次或更多次
{n,m} 重复N次或m次

 

帮美女解决的问题。

 

var str="http://ladjkfldfjlfjlafjlfk/-1-1.html?sdlfjsdlkfjsdlfjo";//这是一个url
//要求把URL里面-1.html的 -1 替换成一个别的东西
//所以我这样写
re=/-\d+\.html/;
// - 匹配一个 - \d+ 匹配一个数字多位或者1位 \. 匹配一个 . html匹配一个html字符穿
// 所以上面的正则匹配的就是 -1.html 或者 -11.html 或者 -35.html 等等
alert(str.replace(re,"-33.html"));//然后用正则的replace方法去替换就OK了
//当然只要这个URL 不那么邪恶基本上都可以完成任务,呵呵

我相信你一定有更好的方法。给我留言吧。

一个更好的写法(第2天继续学习的成果)

 

(function(){
var str="http://ladjkfldfjlfjlafjlfk/-1-1.html?sdlfjsdlkfjsdlfjo";//这是一个url
//要求把URL里面-1.html的 -1 替换成一个别的东西
re=/\d+(?=\.html)/;
//\d+ 陪匹配一个数字。 (?=\.html) 断言在数字后面会出现.html字符
// 这个正则的优点在于 他查找出来的 是 -1.html 里面的 1 不带包含 后面的.html
alert(str.replace(re,"33"));//然后用正则的replace方法去替换就OK了
//当然只要这个URL 不那么邪恶基本上都可以完成任务,呵呵
})()

 

 

 

 

posted @ 2010-05-10 18:13  Jun.lu  阅读(420)  评论(0编辑  收藏  举报