基本说来,正则表达式是一种用来描述一定数量文本的模式。)* 代表 )*
+"。本文将用,,*--来表示一段具体的正则表达式。
一段文本就是最基本的模式,简单的匹配相同的文本。
2. 不同的正则表达式引擎
正则表达式引擎是一种可以处理正则表达式的软件。通常,引擎是更大的应用程序的
一部分。在软件世界,不同的正则表达式并不互相兼容。本教程会集中讨论 类型的
引擎,因为这种引擎是应用最广泛的引擎。同时我们也会提到一些和其他引擎的区别。许
多近代的引擎都很类似,但不完全一样。例如+$ 正则库,./# 正则包。
3. 文字符号
最基本的正则表达式由单个文字符号组成。如,,--,它将匹配字符串中第一次出
现的字符“0。如对字符串“.1230。“.0后的“0将被匹配。而第二个“0将不会被
匹配。
正则表达式也可以匹配第二个“0,这必须是你告诉正则表达式引擎从第一次匹配的地
方开始搜索。在文本编辑器中,你可以使用“查找下一个”。在编程语言中,会有一个函数
可以使你从前一次匹配的位置开始继续向后搜索。
类似的,,,--会匹配“42*0中的“0。这等于是告诉正则表
达式引擎,找到一个,,--,紧跟一个,,--,再跟一个,,--。
要注意,正则表达式引擎缺省是大小写敏感的。除非你告诉引擎忽略大小写,否则
,,--不会匹配“0。
特殊字符
对于文字字符,有 个字符被保留作特殊用途。他们是:
56789:;<=
这些特殊字符也被称作元字符。
如果你想在正则表达式中将这些字符用作文本字符,你需要用反斜杠“70对其进行换码
<"=。例如你想匹配“;>0,正确的表达式为,,7;>--
需要注意的是,,,;>--也是有效的正则表达式。但它不会匹配“;>0,而
会匹配“?;>?@0中的“>0。因为“;0在这里表示特殊含义(重复 次到多
次)。
在编程语言中,要注意,一些特殊的字符会先被编译器处理,然后再传递给正则引擎。
因此正则表达式,,7;>--在 ;;中要写成“77;>0。为了匹配“A7%"0,你
要用正则表达式,,A77%"--。而在 ;;中,正则表达式则变成了“A7777%"0。
评论0
最新资源