正则表达式
正则表达式 (简称 regex )允许开发人员根据模式匹配字符串、提取子匹配信息,或简单地测试字符串是否符合该模式。正则表达式在许多编程语言中都有使用,JavaScript 的语法受 Perl 的启发。
我们建议你阅读 正则表达式指南 ,以全面了解可用的正则表达式语法及其工作原理。
描述
正则表达式 是形式语言理论中的一个重要概念。正则表达式是一种描述可能是无限的字符串集合(称为 语言 )的方法。正则表达式的核心需要具备以下特征:
ab
表示“字符
a
后跟字符
b
”。
a|b
表示“
a
或
b
”。
a*
表示“零个或多个
a
字符”。
假设有一个有限的字母表(如 26 个英文字母或整个 Unicode 字符集),那么所有正则表达式语言都可以通过上述特征生成。当然,许多模式用这种方式来表达非常繁琐(如“10 位数字”或“一个非空格的字符”),因此 JavaScript 正则表达式包含许多速记符号,下面将一一介绍。
备注: 由于存在 反向引用 (正则表达式必须具有有限状态),JavaScript 正则表达式实际上并不“正则”。不过,反向引用仍然是一个非常有用的特性。