正则语言与正则表达式:理论与实践的深度解析
1. 基础定义
在深入探讨正则语言和正则表达式之前,我们需要了解一些基础的数学定义。
1.1 字母表与字符串
- 字母表 :字母表是一组有限的符号集合。例如,集合 {1, 2} 是由数字 1 和 2 组成的字母表;集合 {A, B, …, Z} 是大写字母的字母表;集合 {a1, a2, a3, a4} 描述了一个由四个元素组成的字母表。通常,字母表用大写希腊字母表示,如 Σ = {0, 1}。
- 字符串 :使用字母表中的符号可以自然地构建字符串。如果一个字符串是由字母表 Σ 中的符号构建的,则称为 Σ 字母表上的字符串。例如,1001010111 是字母表 {0, 1} 上的字符串,“computer” 是拉丁字母表上的字符串。空字符串(即不包含任何符号的字符串)通常用字母 ε(“epsilon”)表示,其长度为零。我们唯一需要的字符串操作是连接(将一个字符串附加到另一个字符串的末尾)。例如,如果 a = “abcd”,b = “efg”,那么 ab = “abcdefg”。
- 字符串集合 :字母表 Σ 上的所有字符串的集合有其特殊的表示:Σ 。例如,如果 Σ = {0, 1},那么 Σ = {ε, 10, 0, 000, 1010, 01110, …}。
1.2 语言
语言是字母表上字符串集合的任何子集。例如,我们可以取一个由数字、点和减号组成的字母表,并选择其中那些是某个实数的正确表
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



