« 2010年05月10日的文章归档

PHP中的递归正则

之前一篇文章翻译了 Perl语言中的递归正则表达式 . 其实不少语言中的正则都是支持递归的, 例如本文要介绍的PHP正则递归. 虽然, 工作中最常用的正则表达式都很”正则”, 只用最基本的语法就能解决85%以上的问题, 而且合理有效地使用普通正则来解决复杂问题也是一门技巧与学问; 但是高级一点的语法的确有它存的价值, 有时不用它还真办不了事儿; 况且学习正则的乐趣也在于 尝试各种各样的可能性, 满足自己无穷无尽的好奇心 . 本文 内容, 整理自网文 Finer points of PHP regular expressions . 其分析过程剥茧抽丝, 丝丝入扣, 值得一读. 该文系统地列出了PHP中正则表达式常见特性, 我只摘取其中递归部分翻译整理出来. 正文 例子 什么时候会用到递归正则表达式呢? 当然是待匹配的字串中递归地出现某种模式时(貌似废话). 最经典的例子, 就是递归正则处理嵌套括号的问题了. 例子如下. 假设你的文本中包含了正确配对的嵌套括号. 括号的深度可以是无限层. 你想捕获这样的括号组. 恕我剧透, 标准答案是这样的: 1 2 3 4 5 6 7 ?php $st…
阅读更多……

Raphael 1.4 发布,小型JavaScript库

Raphael 是一个小型JavaScript库,用于简化您的Web矢量图形工作。如果你想创建自己特点的图表或图形的裁剪和旋转部件,你可以使用这个简单方便的库来实现。 Raphael 是目前最好的,使用javaScript创建独立于浏览器图形的方式,支持:Firefox 3.0+, Safari 3.0+, Opera 9.5+ and Internet Explorer 6.0+。 1.4新特性: 支持Touch事件 支持rgba 支持新的拖拽方法 各种bug的修复和改进 …… 点击查看详情: http://raphaeljs.com/
阅读更多……

Pusher,Ruby实时浏览器推送服务

Pusher 是一个Ruby实时浏览器推送服务,内嵌了 Web Sockets 技术,并创建了一个REST API来传递事件。允许用户实时协作;新增在线状态更新和消息等… 客户指定要绑定到JavaScript的事件: socket.bind(project-create, function(){ /* add project into the UI */ }) 你的用户交互时,服务器触发事件并改变数据: Pusher['channel'].trigger(project-create, {:name = foo} ) 点击查看详情: http://www.pusherapp.com/
阅读更多……

批量删除所有空文件夹

如何快速删除磁盘上的空文件夹: 假设我们要清理D盘上的空文件夹,那么请先用记事本建一个名为“kill.bat”的文件,在该文件中输入以下内容: dir d: /ad /b /s |sort /r d:kill.txt For /f %%i in (d:kill.txt) DO rd %%i echo y |del d:kill.txt 双击该文件,D盘上所有的空文件夹很快就消失的无影无踪了。 至此 我们就可以制作出删除所有盘符上空文件夹的小软件了。 将下面的内容复制到记事本中,然后保存为.bat后缀即可! 然后双击运行,便将所有的盘符上的空文件夹迅速删除了! @echo 欢迎使用批量处理空文件夹1.0版! @pause @echo 清理C盘 dir c: /ad /b /s |sort /r c:kill.txt For /f %%i in (c:kill.txt) DO rd %%i echo y |del c:kill.txt @echo 清理D盘 @pause dir d: /ad /b /s |sort /r d:kill.txt For /f %%i in (d:kill.t…
阅读更多……
浙ICP备08010023号