为了zooomr的免费pro帐户
July 21st, 2006 | htmlor | blogging | 3 Comments »发现好多人都在谈论zooomr“送bloggers免费pro帐户”的这个事情,自己也忍不住了,毕竟这个“每月上传2.5GB,不限总容量”还是很有吸引力的。
这篇就是专门为得到这个帐户而写的,呵呵。照片如下:
update: 写完之后,去激活页面验证,不到10秒钟就激活了。乖乖,这效率真是高啊。
发现好多人都在谈论zooomr“送bloggers免费pro帐户”的这个事情,自己也忍不住了,毕竟这个“每月上传2.5GB,不限总容量”还是很有吸引力的。
这篇就是专门为得到这个帐户而写的,呵呵。照片如下:
update: 写完之后,去激活页面验证,不到10秒钟就激活了。乖乖,这效率真是高啊。
继750万欧元的穆图仓惶出逃佛罗伦萨(倒霉的家伙,就是跑路了也没逃过降级的命运差点降级)之后,皇马、巴萨分别以2300万欧元买下埃莫森、卡纳瓦罗,2100万欧元买下赞布罗塔、图拉姆,尤文“超市”大甩卖活动正式开始。
截至目前,后卫差不多卖完了,布冯看来也快走了,中前场呢?刚来一年的维埃拉肯定不会陪尤文打意乙,伊布跟特雷泽盖也不像是忠贞不二的主儿,泽比纳,卡莫拉内西…… 嗯,大致就是这样子了。
虽然一直以来对尤文不太感冒,但看到树倒之后猢狲们散的这么快,“迅雷不及掩耳盗铃”,还真是有点感到悲哀。
一年之后重返意甲,这是尤文的希望,有戏吗?我看玄,相当di玄。
javascript内部对象中,关于正则表达式有两个对象:正则表达式对象(regular expression object)与全局RegExp对象(global RegExp object)。这两者很容易被混淆。以下主要说明它们的不同。
正则表达式对象需要创建,如 var re = new RegExp("\\d{4}", "ig");(同 var re = /\d{4}/ig;)。它的属性有lastIndex、source、multiline、ignoreCase、global,方法有compile、exec、test。全局RegExp对象不需要创建就可以直接使用。它的属性有input(opera无)、index(ie专有)、lastIndex(ie专有)、lastMatch(opera无)、lastParen(opera无)、leftContext、rightContext、multiline(firefox专有)和$1-$9,没有方法。
我的理解是,全局RegExp对象是对正则表达式匹配结果的体现,它包含了最新的关于正则表达式匹配的信息。打个比方来说,我正在写一篇文章,10点时文章有100字,1小时后我又加了10个字,然后保存。那么此时的文章就包含了新的信息:最后修改时间由10点变成了11点,字数则由100变成了110。正则表达式匹配就像是修改文章,而全局RegExp对象就是保存后的文章。每次使用正则表达式匹配之后,全局RegExp对象的属性就会随之相应变化。
运行以下代码会看到很明显的结果:
function demo(){
alert("匹配前的 RegExp:\\n" + getRegExpProperties());
var str = "I like Javascript & CSS.";
var re = new RegExp("(.*?)(css)","i");
var matches = str.match(re);
alert("第一次匹配后的 RegExp:\\n" + getRegExpProperties());
alert("第一次匹配得到的数组:\\n" + matches);
var re2 = new RegExp("([A-Z]+)","g");
var matches2 = str.match(re2);
alert("第二次匹配后的 RegExp:\\n" + getRegExpProperties());
alert("第二次匹配得到的数组:\\n" + matches2);
}
function getRegExpProperties(){
var str = "";
if(document.all && window.ActiveXObject){
var keys = ["input","index","lastIndex","lastMatch","lastParen","leftContext","rightContext","$1","$2","$3","$4","$5","$6","$7","$8","$9"];
var key;
for(var i=0; key=keys[i]; i++){
str += key + ": " + RegExp[key] + "\\n";
}
}
else{
for(var key in RegExp){
str += key + ": " + RegExp[key] + "\\n";
}
}
return str;
}
demo();
那么能够改变全局RegExp对象属性的匹配操作有哪些呢?有5种,分别是String对象的match、replace和split方法,以及正则表达式对象的exec和test方法。其中前3种比较常用。这些方法的具体使用以后再谈。