作者:empty 页数:153 出版社:empty |
正則表达式是一种威力无比强大的武器,几乎在所有的程序设计语言里和计算机平台上都可以用它来完成各种复杂的文本处理工作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,其中包括回翻引用、条件性求值和前后在找,等等,每章都为读者准备了许多简明又实用的示例,有助于全面、系统、快速掌握正则表达式,并适用它们去解决实际问题。
正则表达式(regularexpression) 和正则表达式语言已经出现根多年了。正则表达式的专家们早就掌提了这种成力无比强大的武器,它可以用来完成各种复杂的文本处理工作,更重要的是,这种武器可以在几乎所有的程序设计语言里和几乎所有的计算机平台上使用。这是个好消息,但我还要告诉你一个坏消息:长期以来,只有一些真正的专家才能真正零握正则表达式。甚至有很多人根本没有听说过正则表达式这个概念,更不用说用它们来解决问题了,至于少数勇于涉正则表达式领域的人们,又往往会因为正则表达式难以理解而浅尝止或总是在原地棒,这不能不说是一种悲哀,因为正则表达式其实并没有人们想像中的那么复杂。只要你能清晰地理解你想要解决的问题并学会如何使用正则表达式,就可以轻而易举地解决这些问题。正则表达式不为大多数人所掌握的原因之一是关于这方面的好资料太少了。虽然有很多网站在吹嘘它们的正表达式教程如何全面,但实际情况却是高质量的正则表达式学习资源相当稀缺。即便能够找到几本介绍正则表达式的书籍,它们又往往过于偏重语法而显得不够实用——知道如何定义《或是知道+与*之间的区别并不等于真正掌握了正则表达式的用法,在笔者看来,那些书籍反而把简单的问题弄得更复杂了:在学习和使用正则表达式的时候,重要的并不是你知道多少个特殊字符,而是你会不会适用它们去解决实际问题,你拿在手里的这本书井不打算成为一本正则表达式的大全。如果你想要的是那样一本书, 你应该去阅读Jeffrey Friedl编写的MasteringRegularExpression r(O'Reilly出版公司, ISBN 0596002890) .Fried I先生是业内公认的正则表达式专家,他的书绝对是这方面最权威和全面的著
他对本书的技术细节进行了严格的审校并提供了许多宝的意见和反馈。作。本人对Friedl先生没有丝毫成见, 但他的书不适合初学者也是实情:如果你只打算尽快完成手头的工作而不是要钻研正则表达式的内部原理的话,他的书也不很适用。这并不是说那本书里的信息没有用,只是它在你想要给HTML表单添加一些验证功能或者只想对解析的文本进行替换的时候派不上什么用场。如果你想尽快学会正则表达式的基本用法,你将发现自己陷入了一个两难境地:要么找不到简明易学的参考资料,要么找到的参考资料过于深奥而让你不知该如何起步。这正是促使笔者编写本书的原因。本书所讲授的关于正则表达式知识正是你们在刚起步时最需要的,我们将从简单的文本匹配开始循序渐进地向大家介绍许多复杂的专题, 其中包括回溯引用(back reference, 或译为后向引用) 、条件性求值(condi ional evaluation) 和前后查找(looking-around) , 等等, 本书最大的优势是所学到的知识可以立即运用于实践中:我们在每章里都为大家准各了许多简明又实用的示例,它们可以帮助你全面、系统、快速地掌握正则表达式并运用它们去解决实际问题,而每章在10分钟甚至更短的时间里就可以学完。首先, 我要感谢正则表达式专家和我以前的合作者Michael Dinowitz,最后, 我还要感谢Sams出版公司里帮助我把本书从概念变成现实的谢谢大家。还等什么,赶快翻到第1章开始今天的学习吧,你肯定会立刻感受到正则表达式的强大威力。
目标读者希望自己能够快速掌握正则表达式的基本用法,想使用一种强大的工具(虽然它不那么容易掌型)去解决实际问本书的附录C向大家介绍了一种基于Web的正则表达式测试器, 而我必须在此感谢这个测试器的原始作者Nate Weiss(它最初是为ColdFusionWeb Application Construction Kir一书而编写的) , 在Nate的许可和支持下,我对他用ColdFusion编写的正则表达式测试软件进行了改写以配合本书使用, 开发了相应的JavaScript版本, 感谢Qasim Rasheed为这个测试器编写ASP和JSP版本, 感谢Scott Van Vliet为这个测试器编写ASPNET版本,人们, 尤其是Michael Stephens和Mark Renfrow.没有他们的帮助和支持,本书是不可能与大家见面的,本书的目标读者是以下几类人员:第一次接触正则表达式。题,正在开发Web应用软件井需要进行复杂的表单和文本处理,正使用着Perl、ASP、VisualBasic、NET、C#、Java、JSP、PHP、ColdFusion语言(或更多其他程序设计语言) , 希望在开发的应用程序里使用正则表达式,希望在不求助于其他人的前提下尽快掌型正则表达式。