【记录】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 不那么邪恶基本上都可以完成任务,呵呵
})()