Loading...

提供中英文对照的正则表达式cheatsheet的pdf和png下载

Filed under: 编程 — 深柳堂主 @ 2007-11-29 21:45:06 Comments

正则表达式是我比较喜欢的编程工具之一。近日在网上发现了regular expressions cheat sheet的PDF版,于是翻译成中文,放在这里与大家分享。同时还推出了PNG格式,分别放在flickr和yupoo上。

该sheet上的正则表达式是perl风格。内容包括了Anchor,POSIX,Assertions,Quantifiers and Quantifier Modifiers,Escape Character and Metacharacters,Special Characters,Groups and Ranges,Pattern Modifiers,以及一些例子。

翻译时,一些术语参考了何伟平译的《Perl语言编程》第3版,并保留了原有英文(例子部分除外,以节约篇幅)。

由于没有搞到源文件,文档的制作是使用foxit pdfeditor 2.0,而不是使用最喜爱的latex。不过,我也给原作者发了Email,希望能早日收到回复。大家请访问他的主页,那里还有更多的cheat sheets。都是英文的,原汁原味。

好了,以下是深柳堂主http://zhasm.com推出的资源。

注:由于foxit pdfeditor的编码问题,发现该文档在ubuntu下阅读会出现乱码。对此深表遗憾。只能等待得到latex源码后才能彻底解决该问题。作为变通,请下载png版本。见谅!

由于中文字符原因,仅支持adobe reader(windows/linux均可),但是不支持(xpdf, evince,foxit pdfreader)。请下载png版。文件更小,解析度也不错。

点此下载PDF版(任一)(132K):

  1. 在boxstr.com上:regex cheat sheet
  2. 在mediafire上:regex cheat sheet

点此下载PNG版(155K):

  1. 在flickr上,点击看大图

  2. 在yupoo上,点击看大图

最后,再推荐一个.net的regularexpressions cheat sheet地址

——————————————更新分割线——————————————–

13.Dec.2007:

提供sed_awk正则表达式之PDF手册下载。从网上搜索到的,6.5M。扫描版,质量一般。请点击:

windows下的绿色unix工具集UnxUtils以及个人补充

Filed under: 编程 — 深柳堂主 @ 2007-11-26 10:29:27 Comments

注:本文所提及的工具附于文后。

假如你用惯了linux,那你很有可能跟我一样,是被一堆个头不大,却是精明能干的小工具所吸引的:im, ssh, perl, grep, agrep, fgrep, sed, wget, agrep, unzip, cp, mv, rm (我常用的,也就这些)……这些工具在windows不是不存在,只是有的工具加上了gui界面,个头太大;有的改成了彻头彻尾的windows版。这一切,让人感觉,不爽。

可是,你值得安装一整套cygwin么?你有必要安装虚拟机么?当然没必要。本文要介绍的,是一组小巧的实现方案:UnxUtils。自14-04-2003年4月14日之后,它有了升级版本,但是仍然都是03年、04年的作品。只要你需要,就不妨拿来用,不要因为它陈旧而轻视它的实用性。

下载UnxUtils以及UnxUpdates之后,解压到自己中意的文件夹,把\usr\local\wbin文件夹的绝对地址加到

我的电脑(右键)->属性->高级->环境变量->系统变量->path值

注意,在所加的地址之前,应该有个分号“;”以示区分。这样,你随时随地就能打开一个”cmd”console,使用如下工具:

agrep.exe; ansi2knr.exe; basename.exe; bc.exe; bison.exe; bunzip2.exe; bzip2.exe; bzip2recover.exe; cat.exe; chgrp.exe; chmod.exe; chown.exe; cksum.exe; cmp.exe; comm.exe; compress.exe; cp.exe; csplit.exe; cut.exe; date.exe; dc.exe; dd.exe; df.exe; diff.exe; diff3.exe; dircolors.exe; dirname.exe; du.exe; echo.exe; egrep.exe; env.exe; expand.exe; expr.exe; factor.exe; fgrep.exe; find.exe; flex.exe; fmt.exe; fold.exe; fsplit.exe; gawk.exe; gclip.exe; gplay.exe; grep.exe; gsar.exe; gunzip.exe; gzip.exe; head.exe; id.exe; indent.exe; install.exe; join.exe; jwhois.exe; less.exe; lesskey.exe; libfl.a libfl.lib ln.exe; logname.exe; ls.exe; m4.exe; make.exe; makedepend.exe; makemsg.exe; man.exe; md5sum.exe; mkdir.exe; mkfifo.exe; mknod.exe; mv.exe; mvdir.exe; nl.exe; od.exe; paste.exe; patch.exe; pathchk.exe; pclip.exe; pr.exe; printenv.exe; printf.exe; ptx.exe; pwd.exe; recode.exe; rm.exe; rman.exe; rmdir.exe; sdiff.exe; sed.exe; seq.exe; sha1sum.exe; shar.exe; sleep.exe; sort.exe; split.exe; stego.exe; su.exe; sum.exe; sync.exe; tac.exe; tail.exe; tar.exe; tee.exe; test.exe; touch.exe; tr.exe; tsort.exe; type.exe; uname.exe; unexpand.exe; uniq.exe; unrar.exe; unshar.exe; unzip.exe; uudecode.exe; uuencode.exe; wc.exe; wget.exe; wget.hlp which.exe; whoami.exe; xargs.exe; yes.exe; zcat.exe; zip.exe; zsh.exe;

根据自己的需要,我加入了自己常用的三个工具:vim,perl,ssh。

  • vim建议直接安装完全版,它自己就包括了console版和gui版。
  • perl:如果用得频繁,用得深入,建议你安装完整的active perl。但是,如果你只是使用正则表达式进行一些简单的文本处理,不用它的其它库的话,从activeperl里提取两个文件足矣:wperl.exe,perl58.dll。它能完美地运行我80%的脚本。使用它来预处理latex源文件,简单高效。(有一个小bug要事物声明:如果该程序没有任何输出的话,仔细检查你的程序吧!它不会提示你出错,而是学习甘地,以非暴力不合作的姿态进行消极罢工。)如果你vim用得好,处理文本只用vim也可,虽然它的正则式风格怪怪的。
  • ssh:我使用过putty,但是它还要自己开一个console,与windows自带的consol不兼容。现在使用OpenSSH for Windows,发现这是一个比较好的选择,与以上环境更融洽。我提取出一个ssh.exe,以及5个dll文件,就能完整地运行ssh客户端,远程操作自己的dh主机了。wget & unzip下载wordpress、安装插件,速度快得吓人;vim修改文件,也比使用ftp再edit快捷直接得多。

由于没有使用python,上面的方案就没有python的份了:( 如果你需要,自己在以上方案的基础上加以改动,应该可以。至于apache+php+mysql,这些都体积庞大,功能独立,有其集成解决方案,不在本文讨论之内。

以下是本文提到的各工具的官方地址:

其中,由本站http://zhasm.com修改过的文件在此:(使用了国外的存储空间;教育网用户需代理)

  • 精简版的perl(400Kb):wperl.exe,perl58.dll:点此
  • 精简版的ssh客户端(1.7Mb):点此
  • rex.zhasm自己使用的UnxUtils文件(5.5Mb),包括了上述的perl与ssh:点此

深柳读书堂

Filed under: 随笔 — 深柳堂主 @ 2007-11-25 10:23:53 Comments

周末重新安装了blog,修复了Extended Live Archives插件。我原以为是阅微堂的模板与ELA不兼容所致。后来google得到答案:原来wp2.3与旧版本的ELA不兼容,需要对ELA进行一番手术才能和谐。

顺便为本博客起了一个比较附庸风雅的名字:深柳堂。出处是刘昚shèn,同慎虚的《阙题》

道由白云尽,
春与青溪长。
时有落花至,
远随流水香。
闲门向山路,
深柳读书堂。
幽映每白日,
清辉照衣裳。

使用ps做了一个logo,“深柳”是柳体,“堂”是方正小篆体。做完发现,所使用的颜色与本站favicon.ico的颜色一样,都是紫色

顺便贴两张国画,欣赏一下。点击看大图:

willow study

还有一张:

study in the deep willow

使用perl对wordpress数据库进行了整理

Filed under: 编程 — 深柳堂主 @ 2007-11-24 16:21:20 Comments

原来不是很理解post_name与post_title之间的差别。到phpmyadmin看了看,发现,
post_title是文章标题;post_name相当于文件名。我发现自己的数据库的表wp_posts里存在以下问题:

  1. 有的guid是http://zhasm.com/archives/94.html格式的,有的是http://www.zhasm.com/archives/94格式的。不统一。
  2. post_name有的是英文,有的是%+数字格式的乱码。

为解决上述问题,我写了一段perl代码,使用正则式自动解决问题1,手动解决问题2。代码如下:


#!/usr/bin/perl -w
#
use DBI;
#connect to the database
my $dbh=DBI->connect(”DBI:mysql:database=XX;host=localhost”,”user”,”password”,{’RaiseError’=>1});
#use the correct char-set
$dbh->do(”set names utf8″);
#
my $sqr=$dbh->prepare(”SELECT * FROM wp_posts”);

$sqr->execute();

while(my $ref=$sqr->fetchrow_hashref())
{

print “————————\n\n”;
my $guid=$ref->{’guid’};
my $id=$ref->{’ID’};
my $title=$ref->{’post_title’};
my $name=$ref->{’post_name’};

$_=$guid;
if(/www\./)
{ #delete www. from each guid
s/www\.//;
$dbh->do(”update wp_posts set guid=’$_’ where ID=$id”);
}
if(/\d{2,})$/)
{ #add .html to each guid if needed.
s/(\d{2,})$/\1.html/;
$dbh->do(”update wp_posts set guid=’$_’ where ID=$id”);
}
## change the postname
print $title.”\n”;
print $name.”\n”;
print “do u want to translate by yourself?(y/n)”;
chomp($answer=);
if ($answer eq ‘y’)
{
chomp($newname=);
print “your translation is :\t”.$newname.”\n”;
$dbh->do(”update wp_posts set post_name=’$newname’ where ID=$id”);
print “new translation has been aplied.\n”;
}
}

爆米花的回忆

Filed under: 摄影 — 深柳堂主 @ 2007-11-17 14:54:16 Comments

IMG_1199

1306_200703210316362

107892-00001

popcorn

20070926_20fc1922857c40afb0dcZrHhXE7WOYno

120336395

2007118215456709

s111703124