Extended Introductory Examples
还记得第1章中单词重复的例子吗?我说过,完整解决这个问题只需要用Perl之类的语言写几行代码。它看起来像是这样:
嗯哼,这就是完整的程序了。
即便你对Perl有所了解,我也不敢奢望你能完全明白这段程序(至少目前如此)。我希望的是,这个例子让你看到egrep之外的世界,让你有兴趣认识正则表达式的真正能力。
该程序的主要功能依靠3个正则表达式:
尽管这是一个Perl的例子,但这3个正则表达式可以原封不动地(或者只需要做很少的改动)应用到许多其他语言中,比如PHP、Python、Java、VB.NET、Tcl等等。
现在来看这3个表达式,最后的「^」很好理解,但是其他的两个表达式包含我们在egrep中未见过的玩意儿。这是因为Perl与egrep不属于同一个流派,所以某些表示法有所不同,而且Perl(还包括许多其他现代的工具程序)提供的元字符远远多于egrep。我们会在这一章中见到许多例子。