文档介绍:正规式和正则表达式的异同
正规式的定义及使用方法(转自)
设工是有穷字母表,并定义辅助字母表工’={①,£,|,.,*,(,)}
£,0都是工上的正规式,它们所表示的正规集为{£},①;
2任何a是一个正规式,若aez,它所表示的正
正规式和正则表达式的异同
正规式的定义及使用方法(转自)
设工是有穷字母表,并定义辅助字母表工’={①,£,|,.,*,(,)}
£,0都是工上的正规式,它们所表示的正规集为{£},①;
2任何a是一个正规式,若aez,它所表示的正规集为{a};
]和R2是正规式,,则R]|R2,R「R2,R]*,(RJ也是正规式,并且它们所表示的正规集分
别为L]UL2;L1L2;L1*;L1
,仅有这些正规式表示的字集才是工上的正规集。
注意:不要混淆①和&正规表达式£描述的语言只含一个空字符串巳而e表示的语言不含有任何字符串。程序设计语言的单词都能用正规式来定义。若两个正规式e[,e2表示的正规集相同,则称它们等价。记作:e1=e2o
例:令店{a,b},则》上的正规式和相应正规集为
正规式
正规集
a
{a}
a|b
{a,b}
ab
{ab}
(a|b)(a|b)
{aa,ab,ba,bb}
*
a
{£,a,aa,任意个a的串}
(a|b)*
{£,a,aa,任意个a的串}{e,a,b,aa,ab,bb所有由a和b组成的串}
(a|b)*(aa|bb)(a|b)*
艺上所有含有两个相继的a或两个相继的b组成的串}
正则表达式的定义和用法
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的