下面按照运算符的功能分别介绍上述正规式运算符。
1) 字符的集合
用方括号对可以表示字符的集合。正规式
[a b c]
与单个字符a或b或c匹配
在方括号中大多数的运算符都不起作用,只有\-和∧例外。
运算符-表示字符的范围,例如
[a-z0-9<>-]
表示由所有小写字母,所有数字。尖括号及下划线组成的字符集合。
如果某字符集合中包括-在内,则必须把它写在第一个或最后一个位置上,如
[-+0-9]
与所有数字和正负号匹配。
在字符集合中,运算符∧必须写在第一个位置即紧接在左方括号之后,它的作用是求方括号中除∧之外的字符组成的字符集合相对于计算机的字符集的补集,例如
[∧abc]
与除去a。b和c以外的任何符号匹配。
运算符\在方括号中同样发挥解除运算符作用的功能。
2) 与任意字符匹配的正规式
运算符。形成的正规式与除回车换行符以外的任意字符匹配。
在LEX的正规式中,也可以用八进制数字与\一起表示字符,如
[\40-\176]
与ASCII字符集中所有在八进制40(空格)到八进制176(~)之间的可打印字符匹配。
3) 可有可无的表达式
运算符。指出正规式中可有可无的子式,例如:
ab。 c
与ac或abc匹配,即b是可有可无的。
4) 闭包运算
运算符和+是LEX正规式中的闭包运算符,它们表示正规式中某子式的重复,例如:
a
表示由0个或多个a组成的字符串的集合,而
a+
表示由1个或多个a组成的字符串的集合,下面两个正规式是常用的:
[a-z]+
[A-Za-z][A-Za-z0-9]
第一个是所有由小写字母组成的字符串的集合,第二个是由字母开头的字母数字串组成的集合。
|