Regular Expressions
Ashley J.S Mills
<ashley@ashleymills.com>
Copyright © 2005 The University Of Birmingham
Sayid.Young Translates
1 介绍
模式匹配是计算机科学的一门重要学问,它主要研究对信息的定义和按照定义进行匹配识别。
人类每天都在使用各种模式(已经定义的信息),去识别各种事物。计算机也在使用模式作
些非常基础的处理,当你在命令行的终端模式下执行一条命令,计算机使用一些已定义好的
模式来发现你的命令,并且知道你让它去做什么。模式匹配也会用在计算机编程语言的编译
过程中。
正则表达式是一种重要的模式匹配方式,用在正则语言中。正则语言是模式匹配语言的一个
分支。它用在不是很复杂的机械化语言中非常奏效。正则表达式听起来陌生,但是在你不经
意中,你却经常在用它。例如,当你想删除所有文件的时候,你在命令行敲下了“delete *.*”,
那么你已经使用了正则表达式。类似的,很多情况下,你被告知:“*”被用来代替任何东西,
这意味着,任何东西都会被匹配上,事实上,在 后面讨论正则表达式的时候,也有类似的用
法。
现实中,有很多程序都是可以通过正则表达式来完成,实现功能目标。很多情况下,我们看
到,多语义上,虽然都在发生轻微变化,但是,幸好,他们在概念层次上会描述出清晰的边
界,这样的语义文本我们可以用来做讨论,并且从中找到正则表达式能够使用的广义规则,
这些广义规则可以在将来适当的时候使用。
2 基础
正则表达包括两种字符,常字符(literal characters)和元字符(meta characters)。 常字符,
是你想要发现的;元字符是你用来做区分的。常字符容易理解,元字符,是一些特殊字符,
象“*”号这样的,它是正则表达式的核心概念,因此我们会在下文做详细的介绍,并且还
要详细阐述更多的这样的元字符。
2.1 单字符
一个单字符,例如象 Q 是一个正则表达式,这个正则表达式会匹配上任何包含有 Q 的字符
串,所以它会匹配上 Quick,Quiet 以及 Quantum,但是匹配不上 quick(仔细想想原因)。
评论0
最新资源