正则表达式, regex 或者 regexp(有时称为有理表达式)是定义搜索 模式 的 字符 序列。通常这种模式通过 字符串搜索算法用于字符串上的“查找”或“查找并替换”操作 ,或者用于输入验证。它是在 理论计算机科学 和 形式语言 理论中发展起来的一种技术。
这个概念产生于20世纪50年代,当时美国数学家 斯蒂芬·科尔·克莱尼 形式化了正规语言的描述。这一概念和 Unix 文本处理实用程序一起开始被普遍使用。自20世纪80年代以来,存在着不同的用于编写正则表达式 语法 ,一种是 POSIX 标准,另一种是广泛使用的是 Perl 语法。
正则表达式用于 搜索引擎、搜索和替换 文字处理器和 文本编辑器的对话框、文本处理实用程序(如 sed 和 AWK)和 词汇分析。许多 程序设计语言提供regex功能,内置或通过 库。