正则表达式 描述程序设计语言中单词的一种简单而 且数学化的工具。 ●表示符号串的构成模式 ●正则表达式定义了一个符号串集合rs, rs内的每个符号串都与r所定义的模式 相匹配,rs称为由r生成的语言L(r) ●正则表达式中出现的所有符号构成的集 合为该正则表达式的字母表,用Σ表示
正则表达式 ⚫描述程序设计语言中单词的一种简单而 且数学化的工具。 ⚫表示符号串的构成模式 ⚫正则表达式r定义了一个符号串集合rs, rs内的每个符号串都与r所定义的模式 相匹配,rs称为由r生成的语言L(r) ⚫正则表达式中出现的所有符号构成的集 合为该正则表达式的字母表,用S表示
正则表达式 主要内容 ●基本概念 ●正则表达式定义及一些性质 ●扩充的正则表达式及程序设计语言中 单词的定义 正则表达式的局限性。 正则定义
正则表达式 主要内容: ⚫基本概念 ⚫正则表达式定义及一些性质 ⚫扩充的正则表达式及程序设计语言中 单词的定义 ⚫正则表达式的局限性。 ⚫正则定义
正则表达式 基本概念: 字母表:非空有限集,∑,其元素称为符号或字母 符号串:符号的有限序列,也称为字。或表示 空串 空串集{不同于空集⑦。 符号串长度:符号串中字符的个数|β 符号串连接:和β都是符号串,则aβ为符号串的连接 特别有:Aβ=β=β ●符号串集的乘积:A和B是符号串的集合,则称 AB={aP|a∈A,β∈B 特别有:A=A=A,其中必表示空集
正则表达式 ⚫ 基本概念: ⚫ 字母表:非空有限集,,其元素称为符号或字母. ⚫ 符号串:符号的有限序列,也称为‘字’ 。或表示 空串 空串集{}不同于空集 。 ⚫ 符号串长度:符号串中字符的个数.|| ⚫ 符号串连接:和都是符号串,则为符号串的连接 特别有: = = ⚫ 符号串集的乘积:A和B是符号串的集合,则称 AB={| A, B} 特别有:A=A=A,其中表示空集
●符号串的方幂: 设A是符号串的集合,则称A为符号 串集A的方幂,其中i是非负整数。 A0={ A1 AK AA A2=A A A A(k个) 符号串集合的正闭包: A+=A1∪A2∪A3 ●符号串集合的星闭包: A*〓A∪A1∪A2∪A3
⚫ 符号串的方幂: 设A是符号串的集合,则称A i为符号 串集A的方幂,其中i是非负整数。 A 0 ={} A 1 = A , A2 = A A A K = AA......A(k个) ⚫ 符号串集合的正闭包: A + =A1 A 2 A 3 ...... ⚫ 符号串集合的星闭包: A * =A0 A 1 A 2 A 3
正则表达式及其一些性质 ∑为给定的字母表,则每个Σ上的正则表达 式将定义∑上的一个字符串集。用R2表示∑ 上的正则表达式用LR)表示R所表示的字 符串集合。即:函数L表示 正则表达式→字符申集的映射 ●则R的定义及其含义如下:
正则表达式及其一些性质 ⚫ 为给定的字母表,则每个S上的正则表达 式将定义S上的一个字符串集。 用RS表示 上的正则表达式 , 用L(RS )表示RS所表示的字 符串集合 。即:函数L表示 正则表达式→字符串集的映射。 ⚫ 则RS 的定义及其含义如下: