Category Archives: Coding

微软这家伙

话说我用 Windows 的时候从来都是漫无止境的死机。原因大约在于我的内存太小硬盘太慢。于是虚拟机里懒得装完整版的 Visual Studio,所以装了一个学习班。但是今天突然看到……

Visual C++ 2010 Express NAG

好吧。我记得以前可是从来没有这种东西的。

Bookmarklet:快速复制网页标题及地址(引用)

.bookmarklet_link img{display:none}又翻到 phy 同学那可爱的快速复制网页地址等 HTML 代码书签,觉得那功能也太差了点,于是做了一个升级版的。嗯,就是你下面看到的这个。

Refer to this page
拖动这个按钮去你的书签栏吧,目前支持复制成文字、HTML、UBB 代码和仅复制标题四种模式。比如在本页面使用,会生成如下东东:

  1. HTML:<a href="http://orzfly.com/weblog/bookmarklet-refer-to-this-page/" target="_blank">Bookmarklet:快速拷贝网页标题及地址(引用) | 陆一尘的博客 | orzFly's Blog</a>
  2. UBB:[url=http://orzfly.com/weblog/bookmarklet-refer-to-this-page/]Bookmarklet:快速拷贝网页标题及地址(引用) | 陆一尘的博客 | orzFly's Blog[/url]
  3. Text:Bookmarklet:快速拷贝网页标题及地址(引用) | 陆一尘的博客 | orzFly's Blog http://orzfly.com/weblog/bookmarklet-refer-to-this-page/
  4. Title:Bookmarklet:快速拷贝网页标题及地址(引用) | 陆一尘的博客 | orzFly's Blog

Internet Explorer 8, Chrome 4, Firefox 3.6 测试通过。

谷歌拼音扩展 LUA 中的 orderedPairs

今天在写谷歌拼音扩展,希望给出的候选词能按照数字顺序排列,而我在源文件中 tablekey 已经按顺序写了,可输出仍然是乱序。于是去官网查了点资料,发现一段代码:

只需要用 orderedPairs() 代替掉 pairs() 即可,但是后来发现我的扩展中若嵌入这么大一段代码,大小就太大了,于是就打算精简下。联想到 .Net 程序的混淆器,我如法炮制,将所有变量名全部混淆,于是得到了下面的代码:

嗯,你应该看出来了我直接将 pairsorderedPairs(这里其实是 _9)覆盖了。

总之,这个对于平常的开发是无用的,但是对于谷歌拼音扩展则是十分有用。你要是喜欢,欢迎随便转载。我已经提交到官方 wiki 去了。

提取 URL 的正则表达式

有个朋友问我一个在复杂文本中提取 URL 的正则表达式,在网上搜索了一下,鼓捣了好久,综合了多方资源,写出这么一个正则表达式:

加上点注释,我们来分析下:

于是能看懂了么?

测试了些正常的 URL,都很正确。

  • http://orzfly.com/
  • http://orzfly:8080/orztech.php?tel=123456
  • https://orzfly.com/
  • http://www.williamlong.info/script/common.js
  • relatedlinks.googlelabs.com/client/client.js?url=shcom&referrer=&relatedlinks_id=10065_599317151813484&title=
  • ……

测试了些不正确的 URL:

  • www.1a.exe:没有匹配,正确。
  • www.1@22.ci:没有匹配,正确。
  • 123%ww.com:没有匹配,正确。
  • www.煞笔.com:没有匹配,不正确。应该能匹配,但是由于支持国际域名难度较大,抛弃。
  • www.a/b.cc:没有匹配,正确。
  • g.cn/a/b.exe:没有匹配,正确。
  • www.g.cnmmmg.cnlllhttp:123.123.123.123:80hhhwok.cshdn.comsdfsdf:能完整匹配,但是这个肯定不正确。求高人指点。

参考资料: