用LEX语言表达正则表达式 LEX的输入是LEX源程序 首先介绍如何表示正则表达式 LEX表示正则表达式时采用一些元字符*+() ]|{}”"等,表示方法如下 (1)对于单个的字母a就直接表示成a如a,+,等 (2)[abC]表示字符ab,或c中的任一个,如[01] 表示0或1 (3)[a-d]表示字符ab,C或d中的任一个 (4)[^ab]表示除了a或b外的任一个字符
用LEX语言表达正则表达式 LEX的输入是LEX源程序. 首先介绍如何表示正则表达式. LEX表示正则表达式时采用一些元字符* + ( ) \ [ ] | { } “ “等,表示方法如下. (1)对于单个的字母a,就直接表示成a,如a,+,-等 . (2)[abc]表示字符a,b,或c中的任一个,如[01] 表示0或1 (3)[a-d]表示字符a,b,c或d中的任一个. (4)[^ab]表示除了a或b外的任一个字符
)用LEX语言表达正则表达式 (5).表示除了换行符之外的任一个字符 (6)"text"表示双引号里的每个字符(包括元字符)都按 字符处理,如"ab[01]"就是表示ab[01]是字符串,其中 的[和]不是元字符 (7)\转义字符 (8){XXX名字XXX表示的正则表达式。 (9)r|s表示正则表达式r或正则表达式S (10)rs表示正则表达式r与正则表达式s的连接
用LEX语言表达正则表达式 (5). 表示除了换行符之外的任一个字符. (6)”text”表示双引号里的每个字符(包括元字符)都按 字符处理,如”ab[01]”就是表示ab[01]是字符串,其中 的[和]不是元字符 (7) \ 转义字符 (8){xxx}名字xxx表示的正则表达式。 (9)r|s表示正则表达式r或正则表达式s。 (10)rs表示正则表达式r与正则表达式s的连接
)用LEX语言表达正则表达式 (11)(r)表示(内的优先级高于括号外。 (12)r*表示正则表达式r可重复零次或多次。 (13)r+表示正则表达式可重复一次或多次。 (14)?表示是一个可选的正则表达式。 (15)r{m,n}其中m,n是正整数,表达正则表达式r的 m~n次重复。 (16)r{m}表示正则表达式r的m次重复。 (17)r{m,}表示正则表达式r的m到多次的重复 (18)^行的开始,$行的结尾
用LEX语言表达正则表达式 (11)(r)表示()内的优先级高于括号外。 (12)r*表示正则表达式r可重复零次或多次。 (13)r+表示正则表达式r可重复一次或多次。 (14)r?表示r是一个可选的正则表达式。 (15)r{m,n}其中m,n是正整数,表达正则表达式r的 m~n次重复。 (16)r{m}表示正则表达式r的m次重复。 (17)r{m,}表示正则表达式r的m到多次的重复。 (18)^行的开始,$行的结尾
用EX语言表达正则表达式 例 1)二进制数 (0|1)* 2)以a或b开头的由a和b任意组成的字符串 (aa bb(a b o(aa bb[] 3)任何一个从0~9的数字 [0-9 4)长度不超过8的小写字符串 [a-z]{1,8}
用LEX语言表达正则表达式 例: 1)二进制数 (0|1)* 2)以aa或bb开头的由a和b任意组成的字符串 (aa|bb)(a|b)*或(aa|bb)[ab]* 3) 任何一个从0~9的数字: [0-9] 4)长度不超过8的小写字符串 [a-z]{1,8}