描述
正则表达式是形式语言理论中的一个重要概念。正则表达式是一种描述可能是无限的字符串集合(称为语言)的方法。正则表达式的核心需要具备以下特征:
可在语言中使用的一系列字符,称为字母表。
连接:ab 表示“字符 a 后跟字符 b”。
并集:a|b 表示“a 或 b”。
克莱尼星号(Kleene star):a* 表示“零个或多个 a 字符”。
假设有一个有限的字母表(如 26 个英文字母或整个 Unicode 字符集),那么所有正则表达式语言都可以通过上述特征生成。当然,许多模式用这种方式来表达非常繁琐(如“10 位数字”或“一个非空格的字符”),因此 JavaScript 正则表达式包含许多速记符号,下面将一一介绍。
备注:由于存在反向引用(正则表达式必须具有有限状态),JavaScript 正则表达式实际上并不“正则”。不过,反向引用仍然是一个非常有用的特性。