您的位置:首页 > Web前端 > JavaScript

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

2010-05-10 18:13 791 查看
呵呵,刚学习正则表达式,今天帮一个美女解决了个问题。

感到很高兴。

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

.匹配除换行符的任意字符
\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 不那么邪恶基本上都可以完成任务,呵呵
})()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: